私はPHPスクリプトにGETリクエストを送信し、スクリプトから出力が返されたかどうかを確認する関数を持っています。それは素晴らしいですが、何か類似のものをチェックする別の関数を追加しようとすると、どちらも失敗します。私は何が欠けていますか?この機能を追加するときJavascript AJAX関数が正常に動作しない
function checkUsername(usr,n) {
var user = usr.val(), xmlhttp;
//var str = document.getElementById('email').value;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
//document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
if (xmlhttp.responseText != "") {
usr.addClass("ui-state-error");
updateTips(n);
return false;
}
else {
return true;
}
}
}
xmlhttp.open("GET","ajaxValidate.php?type=user&q="+user,true);
xmlhttp.send();
}
完全に上記作品、それらのどれも動作しません:
function checkEmail(em,n) {
var email = em.val(), xmlhttp;
//var str = document.getElementById('email').value;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
//document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
if (xmlhttp.responseText != "") {
em.addClass("ui-state-error");
updateTips(n);
return false;
}
else {
return true;
}
}
}
xmlhttp.open("GET","ajaxValidate.php?type=email&q="+email,true);
xmlhttp.send();
}
なぜ '.val()'ですか?それはjQueryオブジェクトですか?そうでなければ '.value'でなければなりません。一番上のものとやや一貫していても、私はただ明確にしたいだけです。 –
申し訳ありませんが、それはjQueryオブジェクトです。 –
あなたのコードで '.val()'と '.addClass()'を使用しています - それらはjQuery関数とよく似ています - なぜjQuery ajaxを使用しないのですか?良い質問は –