日期:2014-05-16  浏览次数:20480 次

怎样在客户端验证输入的验证码是否正确?
有的网站上输入表单,比如文本框输入后,立刻校验输入是否正确。

------解决方案--------------------
<form action= "addbook.shtml " method= "post " name= "addbook ">
<div align= "center " class= "STYLE1 "> 请填写书的详细信息 </div>
<table align= "center ">
<tr> <td> 书名 </td> <td> <label>
<input type= "text " name= "bname ">
</label> </td> </tr>
<tr> <td> 书价 </td> <td> <label>
<input type= "text " name= "bprice ">
</label> </td> </tr>
<tr> <td> ISBN </td> <td> <label>
<input type= "text " name= "bisbn ">
</label> </td> </tr>
</table>

<label>
<div align= "center ">
<input type= "button " name= "Submit " value= "保存 " onClick= "return _check() ">
</div>
</label>
</form>
<script language= "javascript ">
function _check()
{ var bname=document.addbook.bname.value;
if(bname== " "||bname==null){
alert( "请输入书名 ");
return false;
}else{
document.addbook.submit();
}

}
</script>
类似的你往里面套就可以了,够仔细了吧
------解决方案--------------------
用ajax
------解决方案--------------------
如果在客户端执行一段js能取得验证码的话,那验证码就失去它的作用了,你说得和注册时查看是否有同名的情况的实现方法是一样的,用ajax,你可以搜一下很多例子

简单的实现函数
//url指向的页面返回验证码,参数二是你的判断与alert
//可以放在失去焦点的时候执行

function ReadXML(URL, CallBack)
{
var XmlHttp;
XmlHttp = new ActiveXObject( "Msxml2.XMLHTTP ");
XmlHttp.onreadystatechange = GetCallBack(XmlHttp, CallBack);
XmlHttp.open( "GET ", URL, true);
XmlHttp.send(null);
}

function GetCallBack(XmlHttp, CallBack)
{
return function()
{
if (XmlHttp.readyState == 4)
{
if (XmlHttp.status==200)
{
var dom = new ActiveXObject( 'Microsoft.XMLDOM ');
dom.loadXML(XmlHttp.responseText);

if(dom.parseError.errorCode != 0)
{
dom = null;
}
else
{
}

if (CallBack)
CallBack(dom);
}
}
}
}