提交时的Javascript表单验证
在使用“onsubmit”事件将此表单提交到订单表单页面之前,我正在尝试验证此表单,但它不起作用。不知道我做错了什么。另外,我如何在订单页上提交带有价格和产品ID的选定产品?我需要使用表单控件,以允许用户在个人和帐单信息的名称,地址等。任何与此相关的帮助将不胜感激 这是我试图用“onsubmit”验证的代码:提交时的Javascript表单验证,javascript,javascript-events,Javascript,Javascript Events,在使用“onsubmit”事件将此表单提交到订单表单页面之前,我正在尝试验证此表单,但它不起作用。不知道我做错了什么。另外,我如何在订单页上提交带有价格和产品ID的选定产品?我需要使用表单控件,以允许用户在个人和帐单信息的名称,地址等。任何与此相关的帮助将不胜感激 这是我试图用“onsubmit”验证的代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xh
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Javascript - Shopping Cart</title>
<script type="text/javascript" charset="utf-8">
function checkCheckBoxes( ) {
if (document.frmTest.product1.checked == false &&
document.frmTest.product2.checked == false &&
document.frmTest.product3.checked == false &&
document.frmTest.product4.checked == false)
{
alert ('You must select a product to continue.');
return false;
}
else
{
return true;
}
}
</script>
</head>
<body>
<h1>Shopping Cart - Product Page</h1>
<form name="product" method="post" action="" onsubmit="return checkCheckBoxes( );" >
<div id="product1">
<p id="title1"><b>Desktop Computer</b></p>
<img src="images/desktop.jpg" alt="desktop" width="100"/>
<p>The latest in desktop computing.</p>
<p><input type="checkbox" name="product1" id="001">Price $599.99</p>
</div>
<div id="product2">
<p id="title2"><b>Monitor</b></p>
<img src="images/monitor.jpg" alt="monitor" width="100"/>
<p>21 inch monitor</p>
<p><input type=checkbox name="product2" id="002">Price $159.99</p>
</div>
<div id="product3">
<p id="title3"><b>Keyboard</b></p>
<img src="images/keyboard.jpg" alt="keyboard" width="100"/>
<p>USB Keyboard</p>
<p><input type=checkbox name="product3" id="003">Price $39.99</p>
</div>
<div id="product4">
<p id="title4"><b>Mouse</b></p>
<img src="images/mouse.jpg" alt="mouse" width="100" />
<p>USB Keyboard</p>
<p><input type=checkbox name="product4" id="004">Price $25.99</p>
</p>
</div>
<br />
<input type="submit" value="Submit" name="submit" onClick="cart()";/><input , type="reset" value="Reset" name="reset">
</form>
</body>
</html>
改变
到
如果安装了Firebug之类的调试器,则可以调用
checkCheckBoxes( );
在控制台中手动执行,而不提交表单,这样您就可以看到函数生成的错误消息,在本例中是
TypeError: document.frmTest is undefined
由于表单的名称是product,document.frmTest。。。应该称为文档。产品。。。相反。尝试将if语句更改为使用getElementById。我运行了您的代码,但使用了if语句:
if ( (document.getElementById("001").checked == false) &&
(document.getElementById("002").checked == false) &&
(document.getElementById("003").checked == false) &&
(document.getElementById("004").checked == false))
它成功了。由于语法错误和问了很多问题,我很难理解这一点。请编辑您的帖子并澄清问题所在。Weston Probst-Javascript实验室7???这是你的作业吗?是的,这就是我错过的!谢谢
TypeError: document.frmTest is undefined
if ( (document.getElementById("001").checked == false) &&
(document.getElementById("002").checked == false) &&
(document.getElementById("003").checked == false) &&
(document.getElementById("004").checked == false))