我有一个向PHP脚本发送GET请求的函数,并检查脚本是否返回任何输出。它工作得很好,但是当我尝试添加另一个检查类似内容的函数时,它们都会失败。我错过了什么?
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();
}
答案 0 :(得分:0)
在这两个函数中,让第一行为:
var xmlhttp;
答案 1 :(得分:0)
请尝试以下操作:
function createRequestObject() {
var xmlhttp=null;
if (window.XMLHttpRequest) {
xmlhttp=new XMLHttpRequest();
} else {
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
return xmlhttp;
}
function checkUsername(usr,n) {
var user = usr.val();
var xmlhttp = createRequestObject();
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
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();
var xmlhttp = createRequestObject();
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
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();
}