我正在尝试在bootstrap和jquery中进行一些简单的验证 这是JS
$(document).ready(function() {
$("form").submit(function() {
if (($('input[name^=password]').val()) != password) {
msg = 'Incorrect username or password';
$(".modal-body").text(msg);
$('#myModal').modal('show');
}
});
});
问题是表格还在继续吗?
她正在疯狂地工作 http://www.bootply.com/7Tvg4nhuG4
EDITED
我做了类似的事情,但我不确定是否可以使用两个IF
$(document).ready(function() {
$("form").submit(function() {
if ((($('input[name^=password]').val()) != password) || (($('input[name^=username]').val()) != username)) {
msg = 'Incorrect username or password';
$(".modal-body").text(msg);
$('#myModal').modal('show');
return false;
}
if ((($('input[name^=password]').val()) != "") || (($('input[name^=username]').val()) != "")) {
return false;
}
else {
// do something
}
});
});
答案 0 :(得分:2)
您还没有告诉表单不提交,因此它不会提交。 :-)
if (($('input[name^=password]').val()) != password) {
msg = 'Incorrect username or password';
$(".modal-body").text(msg);
$('#myModal').modal('show');
return false; // this halts form submission
}
答案 1 :(得分:2)
有几种方法可以做到这一点。您的提交方法可以返回false,或者您可以将事件作为参数传入,并调用 preventDefault 来停止默认操作(提交)。
返回错误
$(document).ready(function() {
$("form").submit(function() {
if (($('input[name^=password]').val()) != password) {
msg = 'Incorrect username or password';
$(".modal-body").text(msg);
$('#myModal').modal('show');
return false;
}
});
});
<强>的preventDefault 强>
$(document).ready(function() {
$("form").submit(function(ev) {
if (($('input[name^=password]').val()) != password) {
msg = 'Incorrect username or password';
$(".modal-body").text(msg);
$('#myModal').modal('show');
ev.preventDefault();
}
});
});
话虽如此,我强烈建议使用框架进行表单验证,因为它使您的代码更加模块化和可维护。我的个人偏好是jQuery Validate已经存在了很长时间并且运作良好,但还有很多其他人(例如Parsley)。
答案 2 :(得分:1)
修正:
$(document).ready(function() {
$("form").submit(function(event) {
event.preventDefault();
if (($('input[name^=password]').val()) != "password") {
msg = 'Incorrect username or password';
$(".modal-body").text(msg);
$('#myModal').modal('show');
}
else
{
$(this).submit();
}
});
});
PS:我还将password
更改为"password"
以避免未定义的var错误。