Probleme de condition en javascript !

Bonjour,

j'utilise un script pour vérifier la disponibilité d'un pseudo en live le script fonctionne bien, la page me retourne bien les données (sous forme de 1 ou 0) mais lorsque j'ajoute dans le script une condition qui traite le 1 et le 0 plus rien ne marche !

Voici le script en question:

function verifpseudo(pseudo)
{
$.ajax({
type: 'GET',
url: 'test.php',
data: 'pseudo='+pseudo,
dataType: 'ResponseText',
success: function(result){
if (result == 1)
{
document.getElementById('test').innerHTML = "Pseudo pas libre";
}
else
{
document.getElementById('test').innerHTML = "Pseudo libre";
}
}
});
}


Sa semble bête mais la condition refuse de fonctionner ! Si quelqu'un a une idée, je suis preneur !

Merci d'avance !
Configuration: Windows XP
Safari 532.0

8 réponses

  1. Entoure le 1 par des guillemées, car c'est une chaine de caractère qui est retourné et pas un nombre entiere (int).
    0
    1. Cela ne marche pas, la condition affiche uniquement pseudo libre :(
      0
      1. Au lieu de faire la condition, fait une alerte pour voir le texte envoyé.
        0
        1. encore une raison de ne pas utiliser jquery et de coder soi même :p
          0
          1. Ce n'est sans doute pas de la faute à JQuery ...
            Je penses plutôt que son script ne retourne pas "1" car il y a une erreur PHP ou quelque-chose dans le genre.
            0
        2. sans doute mais j'adore descendre les bibliotheques :p tu me connais :D
          0
          1. quand j'utilise une alert, le script me retourne bien un 1 ou un 0, pas d'erreur dans le fichier php :(
            0
            1. Ça donne quoi avec ça :
              function verifpseudo(pseudo) {
              	$.ajax({
              		type: 'GET',
              		url: 'test.php',
              		data: 'pseudo=' + pseudo,
              		dataType: 'ResponseText',
              		success: function(result) {
              			if(result == "1") {
              				document.getElementById('test').innerHTML = "Pseudo pas libre";
              				alert('Pseudo déjà pris');
              			} else {
              				document.getElementById('test').innerHTML = "Pseudo libre";
              				alert('Pseudo libre');
              			}
              		}
              	});
              }
              
              0
              1. aussi long qu'une fonction créer sans jquery :D
                0
              2. @resalutOui, si la création de l'objet XHR se fait à l'aide d'une fonction parce que avec toutes les conditions en fonction des browsers, c'est assez long.
                0
              3. @avion-f16generalment tu en fait un pour tous et un pour internet explorer :) donc 2 c'est pas la mer à boire
                0
              4. @resalutPerso j'utilise plutôt une fonction "getXMLHttpRequest" qui retourne le bon en fonction du navigateur.
                La fonction :
                function getXMLHttpRequest() {
                	var xhr = null;
                	
                	if (window.XMLHttpRequest || window.ActiveXObject) {
                		if (window.ActiveXObject) {
                			try {
                				xhr = new ActiveXObject("Msxml2.XMLHTTP");
                			} catch(e) {
                				xhr = new ActiveXObject("Microsoft.XMLHTTP");
                			}
                		} else {
                			xhr = new XMLHttpRequest(); 
                		}
                	} else {
                		alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest...");
                		return null;
                	}
                	
                	return xhr;
                }
                
                Et un exemple de code :
                function ajouterMessage(zone_message) {
                	texte_message = zone_message.value;
                	zone_message.value = '';
                	
                	xhr = getXMLHttpRequest();
                	if (xhr && xhr.readyState != 0) {
                		xhr.abort();
                	}
                	
                	xhr.open('POST','chat.ajax.php',true);
                	xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
                	xhr.send('action=ajouter&message='+texte_message);
                }
                0
            2. même résultat qu'avant, pseudo toujours libre :(
              0