带验证且不刷新页面的jQuery.submit()
jQuery .submit() with validation and without page refresh
我遇到了其他人似乎遇到的问题,但我无法使用推荐的解决方案(即"return false;")。任何帮助都会很棒!
描述:
提交表单时,我希望验证输入的格式是否正确(即type="email"),并在不刷新页面的情况下启动警报(即"form submited.")。当前,警报不会出现,并且页面会刷新。
测试代码:
<!DOCTYPE html>
<html lang="en">
<head>
<!-- JavaScript -->
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
</head>
<body>
<!-- Form -->
<form>
<input type="email" placeholder="Email" value="" size="25px" required="required" id="userEmail">
<button type="submit" id="submit">Submit</button>
</form>
<!-- Alert on Submission -->
<script>
console.log("Ready to Go!");
$('#submit').submit(function () {
alert("Form submitted.");
return false;
});
</script>
</body>
</html>
您需要捕获表单的submit
事件。按钮上没有submit
事件。
$('form').submit(function () {
if (*everything ok*) {
alert("Form submitted.");
} else {
return false;
}
});
理想情况下,您可以使用ID或类来帮助识别您的<form>
,例如:
<form id="xyz-form">
然后将您的选择器更改为:
$('#xyz-form').submit(...);
现在,这只是为了在出现错误时阻止表单提交。当return false;
不是提交回调的路径时,您的页面将被刷新。如果您想在不刷新的情况下将数据提交到服务器,则需要采取不同的方法。
给表单一个ID,然后将jquery改为使用#formid。
例如:
<form id="form">
<input type="email" placeholder="Email" value="" size="25px" required="required" id="userEmail">
<button type="submit" id="submit">Submit</button>
</form>
<script type="text/javascript">
$('#form').submit(function () {
alert("Form submitted.");
return false;
});
</script>
console.log("Ready to Go!");
$('form').submit(function () {
alert("Form submitted.");
return false;
});
$("#submit").click(function(e){
if (hasError){
e.preventDefault();
}
else{
alert("success");
}
})
创建if和else语句是为了进行简单的验证。关于你问题的范围,我把大部分代码留给你的创造力。但您基本上可以创建一个简单的函数来检查用户输入的错误,如果有错误,则阻止提交按钮的默认提交行为。如果输入不是空的,并且输入没有错误,则提醒用户表单已提交。
尝试使用
$('#submit').click(function () {
alert("Form submitted.");
return false;
});
它会实现你想要的。
基本上,点击在提交之前触发
试试这个片段来清除
console.log("Ready to Go!");
$('#submit').click(function () {
alert("Form submitted.");
//return false;
return true;
});
$("form").submit(function( event ) {
alert("woot woot");
});
相关文章:
- jQuery submit()的角度等效项
- jQuery .submit() 不适用于 javascript 生成的 html 表单
- JQuery:Submit事件未在FireFox上启动
- jQuery-Submit函数不会发布值
- jQuery“submit”方法忽略使用GET的POST发送.为什么?
- jquery-submit函数不起作用
- Jquery submit()没有't传递文件数据
- Jquery .submit() 不适用于 IE8
- jquery .submit() 方法不会重新加载页面
- jQuery submit() - 表单仍然被发送
- jQuery .submit( [callback] ) 中的 .click 不起作用
- 添加对 jquery .submit() 的回调以读取上传的错误响应
- Jquery.submit()回调以关闭加载模式
- Jquery submit没有't提交表格
- jquery-submit没有't提交
- jquery submit()表单到当前页面,并带有电子邮件验证器
- jquery-submit不起作用
- jquery-submit表单破坏了jswindow.history.back()
- 在jQuery.submit函数中更新并显示一个变量
- jQuery submit()、change()和页面刷新