Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

159
Vistas
cargue el archivo de un formulario y los datos de texto a PHP usando jQuery y AJAX

Buenos dias. Estoy intentando que el formulario de envío de un mensaje sea más fluido evitando la recarga de la página para el envío del mismo. Dado que el mensaje puede ser texto o imagen, necesito enviar ambos a una página PHP para cargarlos. Estoy usando este código en la página html:

 <form id="newmessage" enctype="multipart/form-data"> <textarea form="newmessage" id="messagetext" name="messagetext" ></textarea> <input type="submit" name="submit" value="send" onclick="return newMessage();"> <input type="file" accept="image/*" id="image" name="image"> </form> <script> function newMessage(){ var messagetext = document.getElementById("messagetext").value; var image = document.getElementById("image").value; $.ajax({ type:"post", url:"new_message.php", data: { "messagetext" :messagetext, "image" :image, }, cache:false, success: function(html) { document.getElementById("messagetext").value = ""; } }); return false; } </script>

Como puede ver, permito que los usuarios escriban en el área de texto o carguen un archivo. Cuando envían el formulario, se invoca el método newMessage() y envía la imagen y el texto del mensaje a new_message.php , que los procesa:

 // new_message.php $messagetext = $_POST["messagetext"]; $image = $_FILES["image"]["tmp_name"]; if((!empty($messagetext) || isset($image))) { if(!empty($messagetext)) { // create text message } else if(isset($image)) { // create image message } }

Cuando escribo un mensaje de texto funciona perfectamente, pero no envía nada si es imagen. Tal vez la variable de imagen en AJAX no esté tomando el archivo correctamente. Disculpe si esta pregunta no está clara, pero soy un principiante en StackOverlow y estoy abierto a modificaciones. Gracias por todas las respuestas.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

puedes probar esto no necesita preocuparse por el archivo y el mensaje en el área de texto. Asegúrese de haber agregado jQuery.

 $("#newmessage").on("submit", function(ev) { ev.preventDefault(); // Prevent browser default submit. var formData = new FormData(this); $.ajax({ url: "new_message.php", type: "POST", data: formData, success: function (msg) { document.getElementById("messagetext").value = ""; }, cache: false, contentType: false, processData: false }); return false; });
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda