我的代码中有两个checkboxes
,如下所述:
<input type="checkbox" id="event_id" name="data[Noncompetitor][event_id][]" value="1">
<input type="checkbox" id="event_id" name="data[Noncompetitor][event_id][]" value="2">
现在我正在执行像onCreate和onComplete这样的Ajax函数,我想在启动时禁用复选框,并希望再次启用完成请求。我不确定如何在Prototype JS
中实现这一目标,并且上述两个复选框都具有相同的id
。
onCreate: function(){
document.getElementById("event_id").setAttribute("disabled", "disabled");
Element.show('loading_message');
},
onComplete: function(){
document.getElementById("event_id").removeAttribute("disabled");
Element.hide('loading_message');
},
我的上述代码有效,但它只会禁用第一个复选框,所以请在这里帮助我。
谢谢!
答案 0 :(得分:0)
HTML页面中不能有两个相同的id,没有什么可以阻止你在HTML页面中放置两个相同的ID,但是每次你这样做就会杀死一只小猫,并且还有两个id会在这样的情况下迷惑自己。每次在HTML页面中有两个相同的ID时,document.getElementById
将返回它找到的第一个ID并停止关注另一个ID,因此它只适用于一个复选框。
您可以为复选框分配类,也可以使用name属性引用复选框,如果您的表单也已命名。