<table><tr>
<td>姓名</td>
<td><input type="text" name="uname" id="uname" maxlength="30"></td>
<td>学号</td>
<td><input type="text" name="unum" id="unum" maxlength="12"></td>
<td>身份证号码</td>
<td><input type="text" name="idnum" id="idnum" maxlength="18"></td>
<td></td>
<td><input type="button" name="idcheck" value="检测" onclick="idcheck()"></td>
</tr></table>
var xmlHttp;
function createXMLHttpRequest(){
if (window.ActiveXObject){
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}else if(window.XMLHttpRequest){
xmlHttp=new XMLHttpRequest();
}
}
function idcheck(){
//document.getElementByName(delbname).disabled=false;
var uname=document.getElementById('uname').value;
var unum=document.getElementById('unum').value;
var idnum=document.getElementById('idnum').value;
alert('1');
createXMLHttpRequest();
alert('2');
var url="idcheck.ajax.php";
var postStr="uname="+uname;
xmlHttp.open("POST",url,true);
alert('21');
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
alert('22');
xmlHttp.send(postStr);//奇怪的是:执行这一句时,就会跳出一个windows的登陆框郁闷。为什么呢?
alert('23');//程序执行到这边就停了。
xmlHttp.onreadystatechange = function() {
alert('3');
//如果执行状态成功,那么就把返回信息写到指定的层里
if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
res=xmlHttp.responseText;
alert('4');
//alert(res);
//resarr=res.split('ChEN1yA');
if(res=='0')
{
alert('认证失败!');
//document.getElementByName("deldact"+id).disabled=true;
}else{
alert('认证通过');
//document.getElementByName("deldact"+id).disabled=true;
}
}
}
}这个是idcheck.ajax.php文件$db_host="localhost";
$db_user="root";
$db_password="*****";
$db_port="3306";
$db_name="jy_sztz1";
$dbh=mysql_connect("$db_host:$db_port","$db_user","$db_password");
mysql_select_db("$db_name");
$str='0';
$uname=$_POST['uname'];
$unum=$_POST['unum'];
$idnum=$_POST['idnum'];
mysql_query("set names utf8");
$sql="select * from sztz_members where unum='$unum'";
$res=mysql_query($sql);
if (mysql_num_rows($res)>0){
$row=mysql_fetch_array($res);
if (($uname==$row['uname'])&&($idnum==$row['idnum'])){
$str='1';
}else{
$str='0';}
}else{
$str='0';}
echo $str;奇怪的就在send()那一行,会出来登陆框,是啥问题呢?
这是我用的,你可以参考//Ajax
function Ajax(){
var _xmlHttp = null;
this.createXMLHttpRequest = function(){try{if (window.ActiveXObject){_xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");}else if (window.XMLHttpRequest){_xmlHttp = new XMLHttpRequest();}}catch(e){alert(e.name +" : " + e.message);}}
this.backFunction = function(_backFunction){if(_xmlHttp.readyState == 4){if(_xmlHttp.status == 200){_backFunction(_xmlHttp.responseText);}}_xmlHttp.onreadystatechange = null;}
this.doPost = function(_url,_parameter,_backFunction){try{_xmlHttp.open("POST",_url, false);_xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");_xmlHttp.send(_parameter);}catch(e){alert(e.name +" : " + e.message);}}
this.doGet = function(_url,_parameter,_backFunction){try{var _random = Math.round(Math.random()*10000);_xmlHttp.open("GET", (_url+"?random=" +_random +"&" + _parameter), false);_xmlHttp.send(null);}catch(e){alert(e.name +" : " + e.message);}}
this.ajaxRequest = function(_url,_parameter,_method,_backFunction){try{this.createXMLHttpRequest();if(_method.toLowerCase() == "post"){this.doPost(_url,_parameter,_backFunction);}else{this.doGet(_url,_parameter,_backFunction);}try{_xmlHttp.onreadystatechange = this.backFunction(_backFunction);}catch(err){}}catch(e){alert(e.name+" : "+e.message);}}
}//Ajax修改排序值
function Rank(ID,Val,Table){
if(ID==''){return false;}
if(Val==''){return false;}
var url = "welcome.php?work=rank";
var parameter = "Id="+ID+"&Val="+Val+"&Table="+Table+"";
var method = "post";
new Ajax().ajaxRequest(url,parameter,method,callBack);
function callBack(xml){window.location.reload();}
}
或者try ...catch一下 看下错误在哪呵呵 我也是个新手,以上仅供参考