2010-12-13 5 views
0

J'ai trouvé un script gratuit pour la validation de nom d'utilisateur sur les interwebs, Ceci est le côté javascript de celui-ci:vérification de la disponibilité du nom d'utilisateur ne se connecte pas

$(document).ready(function() { 

    $("#username").blur(function() { 
     $("#msgbox").removeClass().addClass('messagebox').text('Checking...').fadeIn("slow"); 
     //check the username exists or not from ajax 
     $.post("availability.php", { 
      user_name: $(this).val() 
     }, function (data) { 
      if (data == 'no') //if username not avaiable 
      { 
       $("#msgbox").fadeTo(200, 0.1, function() //start fading the messagebox 
       { 
        $(this).html('This User name Already exists').addClass('messageboxerror').fadeTo(900, 1); 
       }); 
      } else { 
       $("#msgbox").fadeTo(200, 0.1, function() //start fading the messagebox 
       { 
        $(this).html('Username available to register').addClass('messageboxok').fadeTo(900, 1); 
       }); 
      } 

     });  
    }); 

}); 

Vous voyez cette référence à la page « availibility.php » que le code est comme suit:

<? 

$existing_users=array('roshan','mike','jason'); 


$user_name=$_POST['user_name']; 


if (in_array($user_name, $existing_users)) 

{ 


echo "no"; 

} 

else 

{ 

//user name is available 

echo "yes"; 

} 

?> 

Et puis enfin, sur la page, ceci est la balise d'entrée que l'utilisateur entre données:

<input name="user_name" type="text" id="username" value="" maxlength="15" /> 
    <span id="msgbox" style="display:none"></span> 

J'ai ce script en utilisant la dernière version de jquery (1.4.4) c'est le lien vers un exemple de travail: Link

Lorsque vous tapez dans « Mike » dans mon site, il est dit que le nom d'utilisateur est disponible pour utilisation. Dans le lien d'exemple que j'ai fourni ci-dessus, le nom d'utilisateur est pris, comme il se doit.

Le seul problème que je peux penser est peut-être que mon hôte ne fournit pas de support pour ajax? Pensées?

Merci!

+1

Vous pouvez toujours utiliser des outils comme Firebug pour inspecter ce qui se passe pendant les choses ajax. Les navigateurs modernes comme Safari ou Chrome ont également des outils de développement Web intégrés. – miku

+0

Tous les hôtes fournissent le support AJAX. AJAX n'est rien d'autre que des requêtes HTTP normales. La seule différence est la façon dont cette demande est traitée du côté client. – jwueller

+0

@elusive - Cela n'est pas * tout à fait * vrai dans tous les cas, certaines plates-formes les gèrent explicitement différemment, comme CakePHP et les contrôleurs. –

Répondre

2

Vérifiez la réponse à Firebug, chrome, etc ... tout ce que vous utilisez, je pense serait que "no" n'est pas la seule chose étant repris dans la réponse, vous pouvez faire un alert(data) simple au haut de votre gestionnaire de succès dans $.post() pour voir ce que d'autres peuvent être là. Assurez-vous que seulement ce que vous voulez est répercuté dans la réponse.

+0

Ah, vous aviez raison, après avoir fait une alerte, j'ai eu ceci en réponse: non <- End Of code Analytics -> ! Comment puis-je filtrer ce code d'analyse de mon hébergeur? – Ryan

+0

@Ryan - On dirait que votre hôte ajoute quelque chose ... peut-être ont-ils des instructions sur la façon de le contourner pour les requêtes AJAX? –

+0

C'est exactement ce que c'était, je l'ai désactivé et tout fonctionne bien. Merci de fournir le conseil d'alerte()! – Ryan

Questions connexes