wolves'sbrother
Messages postés218Date d'inscriptionsamedi 7 février 2009StatutMembreDernière intervention13 juillet 2011
-
4 mars 2011 à 11:22
Bonjour,
J'essaye de faire une fonction de test sur un formulaire , dans cette fonction j'ai une requête ajax qui est censé modifié une variable selon la réponse, le problème c'est que mon code s'exécute avant la réponse de la requête,je vous laisse voir le code et je vous explique après
function checkIp(){
var msg='';
var ip = $('#ip');
var mask = $('#mask');
var type = $('#type');
//expression reguliere sur l'adresse ip
var check_ip=new RegExp("^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$");
//expression reguliere sur le masque
var check_mask=new RegExp("^255[\.][0-9]{1,3}[\.][0-9]{1,3}[\.][0-9]{1,3}$","g");
if(ip.val()==''){
msg += "Veuillez saisir une @IP\n";
ip.css('background-color', '#FFDF77');
}
else if(!check_ip.test(ip.val())){
msg += "Veuillez saisir une @IP valide \n";
ip.css('background-color', '#FFDF77');
}
else if(type.val()!=getIpType(ip.val())){
msg += "Veuillez saisir une adresse ip "+type.val()+" \n";
ip.css('background-color', '#FFDF77');
}
else if(type.val()=='public'){
var pass=false;
alert ($.post('editAdresse.php',{'checkip' :ip.val() },function(data){
if(data=='busy'){
msg = "L'adresse IP : "+ip.val() +" est déja utilisé \n";
ip.css('background-color', '#FFDF77');
}
else if(data=='not found'){
msg += "L'adresse IP : "+ip.val() +" est introuvable \n";
ip.css('background-color', '#FFDF77');
}
pass=true;
}));
if(mask.val()==''){
msg += "Veuillez saisir un maskque réseau\n";
mask.css('background-color', '#FFDF77');
}
else if(!check_mask.test(mask.val())){
msg += "Veuillez saisir un maskque réseau valide\n";
mask.css('background-color', '#FFDF77');
}
else {
alert(msg);
}
}
Quand je fait un test avec une adresse ip qui n'existe pas dans ma table , la réponse de la requete ajax est 'not found', donc je dois avoir un message d'alerte "L'adresse IP XXX.XXX.XXX.XXX est introuvable, mais non j'ai un message d'alert vide, le reste du code s'execute avant la requete ajax.