var text = $("input#text").val();
if (text == "") {
$("input#text").focus();
alert("Please complete all fields");
return false;
}
J'ai cette jquery ci-dessus pour valider une zone de texte appelée "texte". Ceci, avec d'autres valeurs, .ajax envoyé à une page php pour l'envoi d'un e-mail. L'e-mail est correct avec tout le reste, mais la zone de texte est "indéfinie"? Des idées? Dois-je poster un peu plus de code?le type d'entrée textarea arrivant à envoyer comme "undefined" de php mail
EDIT:
Reste du code:
php:
$email = $_REQUEST['email'] ;
$text = $_REQUEST['text'] ;
$name = $_REQUEST['name'] ;
$detail = "Name: ".$name."\nMessage: ".$text;
mail("xxxxxxxxx", "Subject: Contact Form",
$detail, "From: $email");
echo "Thank you for getting in touch";
jquery complet:
$(function() {
$ ('# submit') vivent (». cliquez sur ', fonction() {
var name = $("input#name").val();
if (name == "") {
$("input#name").focus();
alert("Please complete all fields");
return false;
}
var email = $("input#email").val();
if (email == "") {
$("input#email").focus();
alert("Please complete all fields");
return false;
}
var text = $("input#text").val();
if (text == "") {
$("input#text").focus();
alert("Please complete all fields");
return false;
}
var dataString = 'name=' + name + '&email=' + email + '&text=' + text;
//alert (dataString);return false;
$.ajax({
type: "POST",
url: "mailform.php",
data: dataString,
success: function() {
alert("Thanks, we will be in touch soon");
}
});
return false;
});
});
Le html:
<form method='post' action='mailform.php' class="form">
<p class="name">
<label for="name">Name</label>
<input type="text" name="name" id="name" />
</p>
<p class="email">
<label for="email">E-mail</label>
<input type="text" name="email" id="email" />
</p>
<p class="text">
<label for="text">Nature of Enquiry</label>
<textarea id="text" name="text"></textarea>
</p>
<p class="submit">
<input type="submit" id="submit" value="Send" />
</p>
</form>
Pouvez-vous ajouter les lignes javascript où vous envoyez la demande? Jusqu'à présent, tout semble ok. – arby