我真的很感激任何人的帮助,因为我似乎无法让它发挥作用。我在提交之前使用javascript代码检查我的表单。我检查空盒子之类的东西。
如果框为空,则应显示三个包含标准错误文本的div之一。
"出现错误"我有三个不同的div,div1 div2和div3,它们包含错误语句。我这样做是因为我将表格分成了三个部分。因此,我希望我的javascript在我的表单中的三个不同部分执行三个不同的检查,如果在哪个部分中发生错误,则显示该部分的div1或div2或div3。
Section 1
<div 1>
<input = firstname>
<input = lastname>
<input = email>
<input = email2>
section 2
<div 2>
<input = contactnum>
<input = mobnum>
<input = postcode>
section 3
<div 3>
<input = compname>
<input = compreg>
这是我的javascript代码,我试图将它放在一起,但它不起作用,它提交表单而不进行任何检查。请有人告诉我我哪里出错了。
<script>
function validateForm() {
var a = document.forms["register"]["firstname"].value;
var b = document.forms["register"]["lastname"].value;
var c = document.forms["register"]["email"].value;
var d = document.forms["register"]["email2"].value;
if (a == null || a == "" || b == null || b == "" || c == null || c == ""|| d == null || d == "") {
$(".form_error").show();
$('html,body').animate({
scrollTop: $(".form_error").offset().top - 180
});
var e = document.forms["register"]["contactnum"].value;
var f = document.forms["register"]["mobnum"].value;
var g = document.forms["register"]["postcode"].value;
if (e == null || e == "" || f == null || f == "" || g == null || g == "") {
$(".form_error").show();
$('html,body').animate({
scrollTop: $(".form_error").offset().top - 180
});
var h = document.forms["register"]["compname"].value;
var i = document.forms["register"]["compreg"].value;
if (h == null || h == "" || i == null || i == "") {
$(".form_error").show();
$('html,body').animate({
scrollTop: $(".form_error").offset().top - 180
});
return false;
}
}
}
</script>
答案 0 :(得分:8)
在表单标记中有一个字段 onsubmit 以指定验证功能。 这样的事情:
<form name="myForm" onsubmit="return validateForm()" method="post">
<!-- your inputs -->
</form>
答案 1 :(得分:3)
检查错误时,应在if语句中使用event.preventDefault();
。
我点击提交按钮,首先检查所有字段,如果验证失败,请提出event.preventDefault()
。这样,这将阻止表单提交。
如果没有错误,则不会引发preventDefault
,并且会提交表单。
额外信息: jQuery API