我想使用ajax保存此表单数据。任何人都可以帮我解决以下问题。
如果我输入的所有条目都正确并提交,则刷新页面。
如果我输入任何错误并提交它发送错误。然后,如果我填写所有正确的它工作正常。
但在第一种情况下请刷新。
以下是脚本
<!DOCTYPE html>
<html>
<head>
<script type='text/javascript' src='script/lib/jquery-1.10.2.js'></script>
<script type='text/javascript' src='script/plugin/form-validator/jquery.form-validator.min.js'></script>
<script>
$(document).ready(function(){
$.validate({
modules : 'location, date, security, file',
borderColorOnError : '#ddd',
//errorMessagePosition : $messages,
onModulesLoaded : function() {
$('#country').suggestCountry();
}
});
});
function validate_rgn(){
$('#registration_form').submit();
$.validate({
form : '#registration_form',
onSuccess : function() {
alert('right');
return false; // Will stop the submission of the form
},
});
}
</script>
</head>
<body>
<form action="/registration" method="POST" id="registration_form">
<p>
Name (4 characters minimum):
<input name="user" data-validation="length"
data-validation-length="min4"/>
</p>
<p>
Year (yyyy-mm-dd):
<input name="birth" data-validation="date"
data-validation-format="yyyy-mm-dd"/>
</p>
<p>
Website:
<input name="website" data-validation="url"/>
</p>
<p>
<input type="button" value="save" onclick="validate_rgn()" />
</p>
</form>
</body>
</html>
的验证脚本
答案 0 :(得分:1)
事件处理程序不返回任何内容:
onclick="validate_rgn()"
"
和"
之间的函数没有返回语句。您调用另一个函数并忽略返回值。
validate_rgn
不会返回false。其中唯一的return
语句属于另一个函数,即传递给onSuccess
的匿名函数。
表单已提交,因为您调用了$('#registration_form').submit();
,没有任何东西可以防止它被解雇。
一个肮脏的解决方案是忘记返回任何内容,只需在$('#registration_form').submit();
函数内移动onSuccess
。
更清洁的解决方案是: