Comunidad de diseño web y desarrollo en internet online

Enviar Input file con JavaScript a PHP

Citar            
MensajeEscrito el 22 May 2013 06:01 am
Buenas noches, nuevamente les traigo una duda...
Cuento con un formulario en HTML el cual es validado por un JS y es este JS quien envía todo los campos a un PHP.
El problema lo tengo ahora que se agrego un Input File y no tengo la mínima idea de como adaptar el pedazo de código que les dejo del JS
Lei y lei... muchos foros, encontré muchos ejemplos y aun así no entiendo como funciona.

Tengo dos opciones:
  • Agregar a lo que ya tengo el código faltante para que se envíen los adjuntos.
  • Agregar la parte de validación con JS (Conseguí hacer funcionar un Formulario de prueba en HTML con un Input File y enviarlo a un correo con PHP pero no tengo la parte de validación de campos con JS, no se como integrarla).


Ustedes indiquenme que consideran mejor y si me pueden ayudar con alguna pista seria ideal!

Código JS que utilizo para enviar todos los valores de los campos a PHP.

Código Javascript :

//START ENVIO DE DATOS
      var name = document.getElementById("name").value;
      var email = document.getElementById("email").value;
      var phone = document.getElementById("phone").value;
      var company = document.getElementById("company").value;
      var position = document.getElementById("position").value;
      var comments = document.getElementById("comments").value;
      var xmlhttp;
            if (window.XMLHttpRequest)
              {
              // code for IE7+, Firefox, Chrome, Opera, Safari
              xmlhttp=new XMLHttpRequest();
              }
            else
              {
              // code for IE6, IE5
              xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
              }
            xmlhttp.onreadystatechange=function()
              {
              if (xmlhttp.readyState==4 && xmlhttp.status==200)
               {
               document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
                }
              }    
      xmlhttp.open("POST","send-mail.php",true);
      xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
      xmlhttp.send("to="+to+"&subject="+subject+"&name="+name+"&email="+email+"&phone="+phone+"&company="+company+"&position="+position+"&comments="+comments+"&curriculum="+curriculum);
//END ENVIO DE DATOS


Este es el PHP que estoy utilizando (el que debería adaptar)

Código PHP :

<?php

         $to = $_POST['to'];
         $subject = $_POST['subject'];
         $name = $_POST['name'];
         $email = $_POST['email'];
         $phone = $_POST['phone'];
         $company = $_POST['company'];
         $position = $_POST['position'];
         $comments = $_POST['comments'];

         $header = 'From: '  .$email.  " \r\n";
         $header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
         $header .= "Mime-Version: 1.0 \r\n";
         $header .= "Content-Type: text/plain";

          $cuerpo = "Consulta realizada \n"; 
         $cuerpo .= "\n"; 
         $cuerpo .= "-------------------------------\n"; 
         $cuerpo .= "\n"; 
         $cuerpo = "DATOS DEL CONTACTO \n";
            $cuerpo .= "Nombre y apellido: " .$name. "\n"; 
         $cuerpo .= "Correo electronico: " .$email. "\n"; 
         $cuerpo .= "Telefono: " .$phone. "\n"; 
         $cuerpo .= "Empresa: " .$company. "\n"; 
         $cuerpo .= "Puesto: " .$position. "\n"; 
         $cuerpo .= "\n"; 
         $cuerpo .= "------------------------------ \n"; 
         $cuerpo .= "\n"; 
         $cuerpo .= "CONSULTA: \n"; 
         $cuerpo .= "" .$comments. "\n"; 

            //mando el correo
            mail($to,$subject,utf8_decode($cuerpo), $header);

?>

Por PX10

70 de clabLevel



 

chrome
Citar            
MensajeEscrito el 27 May 2013 05:00 am
Alguien me puede ayudar con esto?

Por PX10

70 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.