我试图在我的网站租借表单上添加表单验证/错误消息。我不确定这里有什么问题。当我单击提交(如果表单为空)时,错误框会显示并说出错误,但是,一旦您在此错误框中单击“确定”,它就会提交表单并加载感谢页面。 '返回false'在功能似乎没有工作。我在单击“确定”时尝试关闭错误框,然后返回到未发送的表单以修复/填写缺少的字段。
这是一个非常大的形式,所以我只是显示关键区域进行审查...... 非常感谢你们的帮助!
<script type="text/javascript">
function checkforblank(){
var errormessage = "";
if (document.getElementById('Full Name').value == "") {
errormessage += "Please enter your Full Name \n";
}
if (document.getElementById('Address').value == "") {
errormessage += "Please enter your Address \n";
}
if (document.getElementById('Home Phone').value == "") {
errormessage += "Please enter your Home Phone Number \n";
}
if (document.getElementById('EventPhone').value == "") {
errormessage += "Please enter your Event Phone Number \n";
}
if (document.getElementById('Email Address').value == "") {
errormessage += "Please enter your Email Address \n";
}
if (document.getElementById('Number').value == "") {
errormessage += "Please enter your Card Number \n";
}
if (document.getElementById('NumberB').value == "") {
errormessage += "Please enter your Card Number \n";
}
if (document.getElementById('NumberC').value == "") {
errormessage += "Please enter your Card Number \n";
}
if (document.getElementById('NumberD').value == "") {
errormessage += "Please enter your Card Number \n";
}
if (document.getElementById('ExpMonth').value == "") {
errormessage += "Please enter your Cards Exp Date MMYY \n";
}
if (document.getElementById('ExpYear').value == "") {
errormessage += "Please enter your Cards Billing Zip \n";
}
if (document.getElementById('Accept Rental Agreement').value == "") {
errormessage += "Please type ACCEPT in the box \n";
}
if (errormessage != "") {
alert(errormessage);
return false;
}else return true;
}
以下是提交按钮中使用的代码:
<input type=submit onclick="checkforblank();" value='RESERVE NOW' style="font-family: Arial" class="style106">
以下是表格起始代码:
<form onsubmit="return checkforblank();" method="post" action="http://jumpnplayparty.com/ftools/process.php" language="JavaScript" name="FrontPage_Form1">
我正在学习...对不起代码很乱:p搜索了几个关于这个主题的帖子/几个youtube视频,但是经过10多个小时修改表单后仍然没有运气......请帮忙
请在此处查看完整表单:https://ink.mysitehosted.com/~bounce/MAMoonwalkRentals/Mobile/reserve_mobile_form.htm
感谢您的帮助!
答案 0 :(得分:0)
脚本中存在语法错误,例如:在您的函数FrontPage_Form1_Validator
中,行
if (theForm.Full Name.value == "")
是错误的 - 你不能简单地在那个表达式中有一个空格字符,这会使它无效。
如果表单元素名称中有空格,则必须使用以下语法来解决它们:theForm["Full Name"].value
- 这是访问JS中名称中包含空格的属性的唯一方法。