我遇到的问题是,即使在和或所有字段为空的情况下代码返回 false,表单仍会提交。
我的 HTML:
<form action="" method="post" name="contactForm" id="contactForm">
<input type="text" name="contactName" id="contactName" class="contactTextfield" />
<input type="text" name="contactPhone" id="contactPhone" class="contactTextfield" />
<input type="text" name="contactEmail" id="contactEmail" class="contactTextfield" />
<textarea name="contactMessage" id="contactMessage" class="contactTextarea" rows="5"></textarea>
<input type="submit" name="contactSubmit" id="contactSubmit" value="Send"/>
</form>
我的 jQuery:
$("#contactForm").submit( function() {
var contactName = $("#contactName").val();
var contactEmail = $("#contactEmail").val();
var contactMessage = $("#contactMessage").val();
var emailFormat = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
if ( contactEmail != '' && emailFormat.test(contactEmail) ) {
var contactEmailCheck = true;
}
if ( contactName != '' ) {
var contactNameCheck = true;
}
if ( contactMessage != '' ) {
var contactMessageCheck = true;
}
if ( contactEmailCheck == true && contactNameCheck == true && contactMessageCheck == true ) {
return true;
} else {
return false;
}
});
固定的:
原来它不起作用,因为 jquery 代码位于索引页面的标题中,而表单本身仅通过 ajax 从单独的 html 文件加载到页面上。我必须将 jquery 代码放在与表单相同的文件中。