Ver Mensaje Individual
  #2 (permalink)  
Antiguo 10/11/2011, 07:06
Jor1980
 
Fecha de Ingreso: mayo-2011
Mensajes: 72
Antigüedad: 13 años
Puntos: 1
Respuesta: Error al ejecutar código ajax que mande email con función php

Tras leer algo más ahora he cambiado la forma de hacerlo:

El código de mi formulario con la llamda de ajax es este:
Código HTML:
<script>
function submitForm()
{ 
    var xhr; 
    try {  xhr = new ActiveXObject('Msxml2.XMLHTTP');   }
    catch (e) 
    {
        try {   xhr = new ActiveXObject('Microsoft.XMLHTTP');    }
        catch (e2) 
        {
          try {  xhr = new XMLHttpRequest();     }
          catch (e3) {  xhr = false;   }
        }
     }
  
    xhr.onreadystatechange  = function()
    { 
         if(xhr.readyState  == 4)
         {
              if(xhr.status  == 200) 
                  document.ajax.dyn="Received:"  + xhr.responseText; 
              else 
                 document.ajax.dyn="Error code " + xhr.status;
         }
    }; 

   xhr.open(POST, "email.php",  true); 
   xhr.send(null); 
} 
</script>

<form action="" method="post"  onsubmit="">
<p class="subtitulo">Datos del vehículo:</p>
<div class="grupoizquierda">

<div class="datos">
<label>Marca</label>
<input  type="text" name="marca"/>
</div>

<div class="datos">
<label>Versión</label>
<input type="text" name="version"/>
</div>

<div class="datos">
<label>Garaje</label>
<input type="checkbox" name="garaje"/>
</div>

<div class="datos">
<label>Compañía</label>
<input type="text" name="compania de seguros"/>
</div>

</div><!---final grupoizquierda--->

<div class="grupoderecha">

<div class="datos">
<label>Modelo</label>
<input type="text" name="modelo"/>
</div>

<div class="datos">
<label>CV</label>
<input type="text" name="cv"/>
</div>

<div class="datos">
<label>Código Postal</label>
<input type="text" name="codigo postal"/>
</div>

<div class="datos">
<label>Nº póliza actual</label>
<input type="text" name="poliza actual"/>
</div>

</div><!--final grupoderecha-->




<div class="grupocentro">


<p class="subtitulo">Datos de matriculación:</p>



<div class="datos">
<label>Año de matriculación</label>
<select name="matriculacion"><option>Seleccione</option><option>1990</option><option>1991</option><option>1992</option><option>1993</option><option>1994</option><option>1995</option><option>1996</option><option>1997</option><option>1998</option><option>1999</option><option>2000</option><option>2001</option><option>2002</option><option>2003</option><option>2004</option><option>2005</option><option>2006</option><option>2007</option><option>2008</option><option>2009</option><option>2010</option><option>2011</option><option>2012</option></select>
</div>

<div class="datos">
<label>Mes de matriculación</label>
<select name="mes matriculacion"><option>Seleccione</option><option>Enero</option><option>Febrero</option><option>Marzo</option><option>Abril</option><option>Mayo</option><option>Junio</option><option>Julio</option><option>Agosto</option><option>Septiembre</option><option>Octubre</option><option>Noviembre</option><option>Diciembre</option></select>
</div>


<p class="subtitulo">Datos del conductor:</p>


<div class="grupoizquierda">

<div class="datos">
<label>Nombre</label>
<input type="text" name="nombre"/>
</div>

<div class="datos">
<label>DNI</label>
<input type="text" name="dni" /> 
</div>

<div class="datos">
<label>Sexo</label>
<select name="sexo"><option>Seleccione</option><option>Hombre</option><option>Mujer</option> </select>
</div>

</div><!--end grupoizquierda de grupocentro-->


<div class="grupoderecha">

<div class="datos">
<label>Años de carnet</label>
<input type="text" name="anyos de carnet"/>
</div>

<div class="datos">
<label>Edad</label>
<input type="text" name="edad"/>
</div>

</div><!--end grupoderecha de grupo centro-->

<br />
<br />
<br />
<br />
<br />
<p class="subtitulo">Datos para recibir información solicitada:</p>

<div class="grupoizquierda">

<div class="datos">
<label>Email</label>
<input type="text" name="email"/>
</div>

</div><!--fin grupoizquierda-->

<div class="grupoderecha">

<div class="datos">
<label>Teléfono de contacto</label>
<input type="text" name="telefono"/>
</div>

</div><!--fin grupoderecha-->

<br />

<div class="datos">
<p style="font-size:18px">Observaciones:</p>
<textarea name="observaciones" style="height:80px;width:350px;" /></textarea>
</div>

<input type="submit" name="enviar" onclick="submitForm()" style="height:30px; width:150px; margin-top:15px; margin-left:15px;" value="Enviar datos"/>
<a href="#" id="politica" class="politica">Política de privacidad</a>
</div><!--final grupocentro-->



</form> 
Con esta modificación sigue sin llamar a la función contenido dentro de mi archivo php. En el elemento html input es donde llamo a la función submitForm() para que llame a la función contenida en el archivo php. ¿Qué hago mal?
El archivo php que manda el email es este:

Código PHP:
<?
function enviar_email(){
$email=$_POST['email'];
$teléfono=$_POST['telefono'];



if(
$email != "" && $teléfono !="")
{
    
$message="";
    foreach(
$_POST as $nombre_html=> $valor_html)
    {
    
$message.= $nombre_html.": ".$valor_html."\n";    
    }
    
    
mail("[email protected]","solicitud de presupuesto",$message);
}
}
?>