Ver Mensaje Individual
  #4 (permalink)  
Antiguo 07/01/2015, 13:27
mauritosuarez
 
Fecha de Ingreso: octubre-2014
Ubicación: Buenos Aires
Mensajes: 278
Antigüedad: 9 años, 6 meses
Puntos: 12
Respuesta: Campo e-mail no se envía

Por lo que se ve a simple vista es que los datos se están enviando por ajax al php.

Esto seria si se envia todo por php
$mail = $_POST['mail']; // Aca se esta recuperando mail y no email que el que envia ajax.

El código de ajax lo esta enviando así.

"nombre" : $('#c_name').val(),

"email" : $('#c_mail').val(), // Aca se llama email

"mensaje" : $('#c_msg').val()


En el archivo php tendrías que recuperarlo así

$mail = $_POST['email'];

Cita:
Iniciado por ponyboy Ver Mensaje
Hola, he probado el código que me has pasado y me sale esto:

Código PHP:
Mensaje enviado correctamenteArray ( [nombre] => sads [email] => sdasds@terra.es [mensaje] => sadsdasas 
Por lo que creo que se envía bien pero me llega el campo mail vacío.

Escribo el código html del formulario completo:

Código HTML:
<div id="contactform">
            <!-- bloque confirmacion de envio oculto  -->
            <div id="c_information" class="hide">
                <p></p>
            </div>
            <!-- fin bloque confirmacion de envio -->
             
            <!-- inicio formulario -->
            <form id="c_form" name="contact">
                <div>
                  <label>
                    <p>(*)Nombre:</p>
                    <input name="nombre" id="c_name" type="text" class="c_input" placeholder="nombre..."/>
                  </label>
                  <br/>
                  <label>
                    <p>(*)Email:</p>
                    <input name="mail"  id="c_mail" type="text" class="c_input" placeholder="email..."/>
                  </label>
                </div>
                <label>
                  <p>(*)Mensaje:</p>
                  <textarea name="mensaje"  id="c_msg" placeholder="mensaje..."></textarea>
                </label>
               
     
                  <!-- checkbox  -->
                 <label>
                <input type="checkbox" value="1" id="accept_conditions" name="accept_conditions" class="required-entry">
	  			<label for="accept_conditions" class="required-label">He leído y acepto las 
	  				<a class="linkpopup" data-reveal-id="conditions" data-animation="fade" href="#">Aviso legal</a></label>
	  				<div id="conditions" class="reveal-modal">
	  					<h1 style="padding-left: 45px;">Aviso legal</h1>
						<div class="content-modal"><div class="cms-content">
<p>
AQUÍ VA TODO EL TEXTO DEL AVISO LEGAL

</p>
    

</label>
    
</div>
</div>
</div>            
                <!-- boton enviar  -->
                <div id="c_btns">
                    <input name="send" onclick="cargaSendMail()" type="button" value="Enviar" class="btn-b" id="c_enviar"></input>
                    <p>(*) Required fields </p>
                </div>
            </form>
            <!-- fin formulario --> 
Escribo también el JS, aunque creo q no tiene nada q ver:

Código:
function cargaSendMail(){
 
 
    $("#c_enviar").attr("disabled", true);
 
    $(".c_error").remove();
 
    var filter=/^[A-Za-z][A-Za-z0-9_]*@[A-Za-z0-9_]+.[A-Za-z0-9_.]+[A-za-z]$/;
    var s_email = $('#c_mail').val();
    var s_name = $('#c_name').val();    
    var s_msg = $('#c_msg').val();
 
    if (filter.test(s_email)){
    sendMail = "true";
    } else{
    $('#c_mail').after("<span class='c_error' id='c_error_mail'>(*)</span>");
     //aplicamos color de borde si el se encontro algun error en el envio
    $('#contactform').css("border-color","#e74c3c");   
    sendMail = "false";
    }
    if (s_name.length == 0 ){
    $('#c_name').after( "<span class='c_error' id='c_error_name'>(*)</span>" );
    var sendMail = "false";
    }
    if (s_msg.length == 0 ){
    $('#c_msg').after( "<span class='c_error' id='c_error_msg'>(*)</span>" );
    var sendMail = "false";
    }
 
    
    if(sendMail == "true"){
     
     var datos = {
 
             "nombre" : $('#c_name').val(),
 
             "email" : $('#c_mail').val(),
 
             "mensaje" : $('#c_msg').val()
 
     };
 
     $.ajax({
 
             data:  datos,
             // hacemos referencia al archivo contacto.php
             url:   'contacto.php',
 
             type:  'post',
 
             beforeSend: function () {
             //aplicamos color de borde si el envio es exitoso
                    $('#contactform').css("border-color","#25A25A");
 
                     $("#c_enviar").val("Enviando...");
 
             },
 
             success:  function (response) {
 
                    $('form')[0].reset(); 
                    $("#c_enviar").val("Enviar");
                    $("#c_information p").html(response);
                    $("#c_information").fadeIn('slow');
                    $("#c_enviar").removeAttr("disabled");
                     
 
 
             }
 
     });
 
} else{
    $("#c_enviar").removeAttr("disabled");
}
 
}
__________________
http://www.sp-vision.net