所以你想在提交之前在 JS 中验证一些东西。这是一种方法。与其在表单中放置提交类型的输入,不如放置一个按钮类型的按钮:
<form id="my-form" submit="...">
...
<input type='button' id='submit-button' value="Save">
</form>
请注意,除非您将类型指定为“按钮”,否则它仍会尝试提交。
然后在 JS 文件中编写类似这样的内容(在 HTML 文件中包含 jQuery):
$('#submit-button').click(function() {
var errors = testErrors(); // this function tests for the errors.
if (errors != "") {
alert(errors);
} else {
$('#my-form').submit();
}
}
示例 testErrors():
function testErrors() {
var country = $("#id_country").val();
var city = $("#id_city").val();
var errors = "";
if (country == "") {
errors += "- Please select a country\n";
}
if (city.length <= 10 ) {
errors += "- Your city name is too short\n";
}
return errors;
}
因此,在 testErrors 中,您可以为每个字段定义自己的测试。在此示例中,有两个,国家和城市。对于国家,代码测试它是否为空白,对于城市,它是否超过 10 个字符。您可以定义自己的进一步测试。请参阅 jQuery 文档以及如何从不同类型的表单字段中检索值。