表单提交 验证码验证
现在表单验证很多,今天做了一个表单验证,在<form>标签中添加一个onsubmit事件,用于验证提交的的字段是否为空,但是验证码验证就有问题
<form name="ctl00" runat="server" method="post" action="User.ashx?action=1" onsubmit="return checkCode(this);"这是<form>
然后下面是js验证
function checkCode() {
var t = 0;
if ($("#txtUserName").val() == "") {
alert('用户名不能为空!!');
t = 1;
return false;
}
if ($("#txtPwd").val() == "") {
alert('密码不能为空!!');
t = 1;
return false;
}
if ($("#txtEmail").val() == "") {
alert('邮箱不能为空!!');
t = 1;
return false;
}
if ($("#txtMobile").val() == "") {
alert('手机不能为空!!');
t = 1;
return false;
}
if ($("#txtVerifycode").val() == "") {
alert('验证码不能为空!!');
t = 1;
return false;
}
$.ajax({
url: "User.ashx",
data: { action: "checkCode", node: $("#txtVerifycode").val() },
dataType: "html",
type: "POST",
error: function () {
alert('error loading...');
return false;
},
success: function (data) {
if (data == "false") {
alert("false");
return false;
}
else
{ }
}
})
}
这样写,上面的还可以,就是下面的这段ajax没有用,当return false时一样会提交,验证码如果不能这样用ajax实现,请问用什么方法实现是现在比较流行的。详细介绍一下
然后我看了一下淘宝上的注册界面看到现在很多网站都有的一种东西,因为我没有这样的源码,不太清楚是怎么实现的。如果能解释一下是怎么实现,或者直接给我一个比较好的源码,小弟感激不尽。
下面代码:
<input type="hidden" name="ua" id="UA_InputId" value="113u5ObXObBitH2MRYO9Oz0bASM1EzUrOTDGcM=|uKBnf0c/Nx9HP1cPVx9X3wU=|uZFW7MvyeVWudS4JzunBqY5JbhSPZC/UqJSzabM=|voZB+/M0PPvj25MLzLTcpGN7QytDhPyUHNvD+5P7PERs5D7k|vzfw1/Aq|vCTjxOM5|vaW9esDnbCBsYMg/yOS/xCNvdI+kv0SjmGO4T5TPFD9kSL9UD3OJpf6FHiJuNRn+Vd6SSYJ6ET3GHcVetf6lKU4VmWP4E3iDWzxn6xEtts0m/tkeObL+sr4W4RZqFmqNwdohChHqDTbNFuHGHMY=|sqqCRWJFnw==|s6sz9E5WkYmx2fE2LqZhRuFmPXXCdeJ1yfLp1Y4JAY217skTyQ==|sKigZ0D64vqCyvI1/9jA+JDI8MhASDAoAGjwPDTTy5MbE1vD+9NLw0tjK6Pbs+shBsHZAyT+|samRVuzLsSrBinENMTZOaa6J82qDhJyEQzv8hIyEQ1sju5xGnA==|tu4pk7Qd586CaUBbZ/zHXrXeJUy3m0BnoBoiamKl7aXdB8DoLwgv6PC4oKhyqA==|t//3/zgw998YcLff1xBoAMffx59YQHgAx/+nn1jA2B8HX8cAGFCK">
这段隐藏域,在form标签下就是,详细解释一下就好。。最后再嘱托一句,能给我个好的源码参考一下,小弟感激不尽。。。谢谢 js验证 ajax验证 js asp.net
[解决办法]
别再 from里 提交啊 在 你要 点击的控件的onclick事件里面写啊
function submitfun(){
if(验证通过){
$("form").submit();
}
}
[解决办法]
在点击提交按钮的时间中去判断就可以了。
[解决办法]
事件 不是 时间 打错了
[解决办法]
你这验证码有啥用,人家记住ua 输入1次对的验证码是不是就把你绕过了
既然调用ajax 所以无论结果如何 都要 return false
return false;
$.ajax ...
[解决办法]
验证码要用同步
var _flang = jQuery.ajax({ type: "GET", url: _ajaxurl, async: false, cache: false }).responseText;