rimie1
Invité n'ayant pas de compte PHPfrance
06 avr. 2011, 05:02
quelque chose comme:
var name = $('#name_ajax').val();
mais je l'ai mis autrement, parce que cette derniere me retourne juste les 2 premieres lettres (par exemple au lieur de rimie, elle retourne ri)
mon code final est:
index.php:
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(function(){
function check_name() {
dataString = $("#JqAjaxForm").serialize();
$.ajax({
type: "POST",
url: "check.php",
data: dataString,
dataType: "json",
success: function(data) {
if(data.name_check == "invalid"){
$("#nMsg").html("Sorry invalid name, please try again.");
} else {
$("#nMsg").html(data.name + " is a valid name. Thank you, " + data.name);
}
}
});
}
$("#name_ajax").keyup(check_name);
return false;
});
</script>
</head>
<form id="JqAjaxForm">
<fieldset>
<legend>jQuery.ajax Form Submit</legend>
<p><label for="name_ajax">Name:</label><br />
<input id="name_ajax" type="text" name="name_ajax" /><span id="nMsg"></span></p>
<p><label for="email_ajax">Email:</label><br />
<input id="email_ajax" type="text" name="email_ajax" /><span id="eMsg"></span></p>
<p><input type="submit" value="Submit" /></p>
</fieldset>
</form>
<div id="message_ajax"></div>
check.php:
<?php
ob_start();
$return_arr = array();
$name_ajax = $_POST['name_ajax'];
$email_ajax = $_POST['email_ajax'];
if(mb_strlen($name_ajax, 'utf-8') < 2)
{
$name_check = 'invalid';
}
else
{
$name_check = 'valid';
$name = $name_ajax;
}
if(mb_strlen($email_ajax, 'utf-8') < 2)
{
$email_check = 'invalid';
}
else
{
$email_check = 'valid';
$email = $email_ajax;
}
$return_arr["name_check"] = $name_check;
$return_arr["email_check"] = $email_check;
$return_arr["name"] = $name;
$return_arr["email"] = $email;
echo json_encode($return_arr);
header('Content-Type: application/json');
ob_end_flush();
?>
si quelque chose au code est ambigue veuillez me l'annoncer, merci.
Une 2eme question, si j'ajoute un champs e-mail, je dois encore refaire le travail de "$.ajax({", ou bien il existe une autre methode?