我有一个注册表单,我使用jquery检查用户可用性,但是当用户不可用时,不应提交表单。如何防止在无法使用情况下提交它。我的代码是
$(document).ready(function(){
$('#email').change(function() {
status=0;
user=$('#email').val();
$.ajax({
type:"post",
url:"verify-user.php",
data:{'user':user},
success:function(data){
if(data=='1'){
$("#show_msg").html('<span style="color:#F00;">Not avilable</span>');
}else if(data=='0'){
$("#show_msg").html('<span style="color:#093;">Avilable</span>');
}
}
});
});
});
请帮帮我。非常感谢您的帮助。提前致谢。
答案 0 :(得分:1)
阻止表单提交的代码与事件有关 - 在这种情况下:
$('#email').change
您需要将事件作为参数传递给事件处理函数,然后添加
event.preventDefault()
到您的电子邮件更改处理程序。但是,由于您通过Ajax调用验证,我相信如果您的验证成功,您将不得不手动提交表单。下面编辑过的代码 - 未经过测试,但希望能引导您朝着正确的方向前进。
$(document).ready(function() {
$('#email').change(function(event) {
status=0;
user=$('#email').val();
// prevent default action
event.preventDefault();
$.ajax({
type:"post",
url:"verify-user.php",
data:{'user':user},
success:function(data){
if(data=='1'){
$("#show_msg").html('<span style="color:#F00;">Not avilable</span>');
} else if (data=='0') {
$("#show_msg").html('<span style="color:#093;">Avilable</span>');
//submit your form if validation succeeds
$("#your-form-id").submit();
}
}
});
});
});
答案 1 :(得分:0)
你能不能只使用if
声明?
var user=$('#email').val();
if (!user) {
return;
}
$.ajax({