嗨我需要在完成一些验证后提交一个页面。我之前从未使用过jQuery,任何想法如何做到这一点? 脚本来自本教程http://webcloud.se/log/Form-validation-with-jQuery-from-scratch/
<form method="post" action="/contact-process" id="demo-form">
<script>
var demoForm = $("#demo-form");
demoForm.validation();
demoForm.submit(function (e) {
$("#valid-form").remove();
if (demoForm.validate()) {
demoForm.append("<strong id='valid-form'>Form is valid!</strong>");
// Here submit the page
}
e.preventDefault();
});
</script>
答案 0 :(得分:3)
由于您正在处理表单的submit
事件,因此如果它无效,您只需致电preventDefault()
:
demoForm.submit(function(e) {
$("#valid-form").remove();
if (demoForm.validate()) {
demoForm.append("<strong id='valid-form'>Form is valid!</strong>");
} else {
e.preventDefault();
}
}
答案 1 :(得分:2)
将处理程序更改为仅在表单无效时阻止默认值:
demoForm.submit(function (e) {
$("#valid-form").remove();
if (demoForm.validate()) {
demoForm.append("<strong id='valid-form'>Form is valid!</strong>");
}
else
e.preventDefault();
});
答案 2 :(得分:1)
尝试调整脚本代码,以便在验证失败时阻止提交。例如,下面的代码(因为您只提供了一个代码段,我刚刚创建了一个基本上可以满足您需求的基本页面,您必须根据需要调整代码)
<html>
<head>
<title></title>
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
var valid = true;
$("form").submit(function (e) {
if (!valid) {
e.preventDefault();
}
});});
</script>
</head>
<body>
<form method="post" action="anotherpage.htm">
<input type="text" value="hello"></input>
<input type="submit" value="submit"></input>
</form>
</body>
答案 3 :(得分:0)
也许你可以试试:
$("#valid-form").submit();
但是......在你的代码中删除表单,所以没有什么可以提交的。也许你可以使用hide()而不是remove()。
答案 4 :(得分:0)
尝试使用
$("#valid-form").submit();
答案 5 :(得分:0)
$("#valid-form").submit();
答案 6 :(得分:0)
如果表单仅在return true
其他return false
有效,则会停止提交表单。
demoForm.submit(function (e) {
$("#valid-form").remove();
if (demoForm.validate()) {
demoForm.append("<strong id='valid-form'>Form is valid!</strong>");
return true;
}
return false;
});