CakePHP Prototype Ajax复选框禁用onCreate onComplete事件

CakePHP Prototype Ajax复选框禁用onCreate onComplete事件,ajax,cakephp,prototype,Ajax,Cakephp,Prototype,我的代码中有两个复选框,如下所述: 现在,我正在执行类似onCreate和onComplete的Ajax功能,我希望在启动时禁用复选框,并希望在完成请求时再次启用。我不确定如何在Prototype JS中实现这一点,并且上述两个复选框都具有相同的id onCreate: function(){ document.getElementById("event_id").setAttribute("disabled", "disabled");

我的代码中有两个
复选框,如下所述:

现在,我正在执行类似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');
        },
我上面的代码可以工作,但它只禁用第一个复选框,所以请在这里帮助我


谢谢

在HTML页面中不能有两个相同的ID,没有什么可以阻止你在HTML页面中放置两个相同的ID,但是每次这样做都会杀死一只小猫,而且在这种情况下,拥有两个ID会让你感到困惑
document.getElementById
将返回它找到的第一个id,并且每次在HTML页面中有两个相同的id时都不再关心另一个id,因此为什么它只对一个复选框有效

您可以将类指定给复选框,或者如果表单也已命名,则可以使用“名称”属性引用复选框


我理解您在这里的担忧,但这是其他开发人员之前所做的代码,现在我必须使其正常工作,因为它目前存在缺陷,所以您最好给我一些详细的解决方案