<label class="checkbox inline">
<input type="checkbox" name="Services[]" value="service1"> Service 1
</label>
<label class="checkbox inline">
<input type="checkbox" name="Services[]" value="service2"> Service 2
</label>
我正在使用Services [],以便$ _POST ['Services']映射到PHP中的数组,包含所需的值。
但是,在客户端,我还需要在提交表单(到PHP)后取消选中所有这些复选框。非常简单的Javascript :(实际的复选框组是8长)。
for (j=0; j<8; j++){
fields[6][j].checked=false;
}
其中:
fields[6] = formob.Services[];
formob=document.forms["FooterQuote"];
问题是我无法将Services []放入Javascript数组中。我尝试使用以下方法:(伪代码,这里只有语法问题)
var fields=[formob.text1, formob.text2, formob.text3, formob.Services[]];
//Syntax error at Services[]
var fields=new Array(formob.text1, formob.text2, formob.text3, formob.Services[]);
//Syntax error at Services[]
var fields=new Array(formob.text1, formob.text2, formob.text3);
fields.push(formob.Services[]);
//Syntax error at Services[]
所以,遗憾的是,就我所知,我无法将Services []推送到Javascript数组中。
我也尝试过使用formob.Services,但这也不起作用。
有没有人有任何想法我怎么能使名称=“服务[]”语法的复选框在Javascript数组中工作,所以我可以循环并取消选中它们全部? :)
答案 0 :(得分:2)
你必须解决这样的复选框:
var services = document.forms['FooterQuote']['Services[]'];
有关详细信息,请查看此文章:Dot and Square Bracket Notations。
所以要取消选中它:
for (var i = 0; i < services.length; i++) {
services[i].checked = false;
}
答案 1 :(得分:1)