我的目标是:当提交时:
- 对表单进行确认:* 好吧 *
- 调用 AJAX 来查看用户名和密码是否匹配:* 好吧 *
- 如果它们不匹配,则显示错误:* 好吧 *
- 如果它们匹配,则确实提交表单:* 不好 *。
事实上,麻烦的是,我不能提交表单,因为上面有一个jquery提交事件!
function form1Submit() {
var username=$('#username').val();
var password=$('#password').val();
if (username.length<2) {
return false;
}
if (password.length<2) {
return false;
}
$.post("check.php", { username: username, password:password }, function(data) {
if (data=="ko") {
alert('bad password');
return false;
} else {
//to be done here !
}
});
return false;
}
function init() {
$('#form1').submit(function(){
return form1Submit();
})
}
$(document).ready(function(){
init();
})
5条答案
按热度按时间olqngx591#
您可以调用本机提交事件,因此请执行以下操作:
然后在你的post callback中这样做:
this.submit()
没有调用jQuery.submit()
触发器函数,而是调用了原生的<form>
.submit()
函数。cczfrluj2#
return false
阻塞了默认的表单提交操作。您可以从form1Submit()
函数 * 或者 * 到return true
,让默认的表单提交操作完成其工作,* 或者 * 在else
中添加另一个$.post()
,它将数据异步提交到表单,如果您的意图是使用ajaxical powers来完成它。wljmcqd83#
问题是form1Submit总是返回false。
jjhzyzn04#
4ngedf3f5#
$(函数(){