[英]Altering javascript, select check boxes
我有此代码选择所有复选框:
<html>
<head>
<script language="javascript">
function checkAll(){
for (var i=0;i<document.forms[0].elements.length;i++)
{
var e=document.forms[0].elements[i];
if ((e.name != 'allbox') && (e.type=='checkbox'))
{
e.checked=document.forms[0].allbox.checked;
}
}
}
</script>
</head>
<body>
<form>
<input type="checkbox" value="on" name="allbox" onclick="checkAll();"/> Check all<br />
<h3>Fruit</h3>
<input type="checkbox" value="on" name="oranges" /> Oranges<br/>
<input type="checkbox" value="on" name="bananas" /> Bananas<br/>
</form>
</body>
</html>
在这种情况下,我应该如何更改(以及如何更改逻辑)JavaScript:
<body>
<form id="menu">
<input type="checkbox" value="on" name="allbox" onclick="checkAll();"/> Check all<br />
</form>
<h3>Fruit</h3>
<form id="select">
<input type="checkbox" value="on" name="oranges" /> Oranges<br/>
<input type="checkbox" value="on" name="bananas" /> Bananas<br/>
</form>
</body>
第二个示例中有两种形式。
在JavaScript中,文档中包含所有形式的数组: document.forms
JavaScript中的数组是从零开始的,因此第一种形式可以通过forms[0]
访问,第二种forms[1]
使用forms[1]
,依此类推。
由于示例中的复选框位于第二个表单中,因此只需更改JavaScript即可访问第二个表单中的元素。
...
for (var i=0;i<document.forms[1].elements.length;i++)
{
var e=document.forms[1].elements[i];
...
或者因为您的第二个表单具有ID,您可以通过ID来访问它,如下所示:
...
for(var i=0;i<document.getElementById("select").elements.length;i++)
{
var e=document.getElementById("select").elements[i];
...
您在第二页上有两种形式,但是您的脚本仅引用一种形式。 您无需将表单分为两部分(从您当前的代码来看)。
但是也可以保留两个表格。 在脚本中的所有位置,将document.forms[0]
替换为document.forms[1]
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.