解决方案 »
- canvas图形没有出来,这是怎么回事啊?
- extjs中如何实时更新grid表中某单元格的数据
- jquery的validate,当ID为动态时如何写?
- 关于关闭ACTIVEX交互安全提示的问题
- IE下不支持这样操作?
- 初学者急问javascript:job("SELECT.ASP?T_S_ID=<%=rs("T_S_ID")%>")
- javascript实现jsp页面间的数据传递
- 我是初学者,做了一个网页游戏“安家落户”,不知道如何支持更多浏览器?
- 关于页面刷新的问题?
- 关于表单验证 无法验证用户名和密码是否相同 密码的长度和合法性也无法检查 如果去掉这些部分,其他能正常检查
- xheditor剪切板粘贴图片问题
- 有关JS for in的特殊写法
ajax方法里面的 return true; 只作用在方法域里面,没有返回到 checkSubmit() 里
你最后都是 return false; 当然过不去了
改成用 同步方式
$.ajax({ async: false,url:"xxxxx" } )
<input class="confirm-button" name="submit" onclick="checkSubmit();" type="submit" value="登录"/>
ajax 里 return true 改成 document.forms[0].submit();
function checkSubmit(){
//triggle submit button usability
$(".confirm-button").attr("disabled","disabled");
$("#authorization-errorDiv").css("display","none");
//get value
username = $("#authorization-form-username").val();
passwd = $("#authorization-form-passwd").val();
//check compliment
if(!username || !passwd){
$(".confirm-button").removeAttr("disabled");
$("#authorization-errorDiv").css("display","inline-block").html("您确保您完整的输入了您的用户名和密码。");
if(!username) $("#authorization-form-username").css("border","1px solid #9C9C9C");
if(!passwd) $("#authorization-form-passwd").css("border","1px solid #9C9C9C");
return false;
}
//check submit information with server
$.get(ins+"?request=ajax&do=checkSigninfo",{username:username,passwd:passwd},function(data){
//adjust next action according to server response
if(data.flag){
return true;
} else {
$(".confirm-button").removeAttr("disabled");
$("#authorization-errorDiv").css("display","inline-block").html("您输入了错误的用户名或者密码,请注意密码是区分大小写的。如果依然出现此问题,请联系<a href='technical_support' title='当然,这是免费的 : )'>技术支持</a>");
flag = false;
}
})
.error(function(){
$(".confirm-button").removeAttr("disabled");
$("#authorization-errorDiv").css("display","inline-block").html("同服务器通讯出现错误,可能是由以下一些原因造成的<ul><li>您的网络不稳定</li><li>服务器发生错误</li></ul>");
flag = false;
});
return flag;
}
2:type改成button的话。用户习惯性的按回车会没反应,影响体验,不至于还要写个监听回车按钮的事件吧。
我采用了同步的方式。
$.get(async: false, ins+"?request=ajax&do=checkSigninfo", {username:username,passwd:passwd},function(data){
其他return都是在回调函数中,和checkSubmit函数没关系,
ajax验证的做法是先无条件阻止提交,然后在回调函数中主动调用submit方法提交表单(注意要调用表单dom的submit方法而不是jquery对象的,否则会再次出发submit事件),
当然如果不会做你也可以如楼上所写用同步ajax方式
这样写语法好像有问题Uncaught SyntaxError: Unexpected token :
$.ajax({
url:ins+"?request=ajax&do=checkSigninfo",
data:{username: username, passwd: passwd},
async:false,
success:function(data){}
});