CakePHP Prototype Ajax Checkbox禁用onCreate onComplete事件

时间:2012-04-20 11:15:58

标签: ajax cakephp prototype

我的代码中有两个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');
        },

我的上述代码有效,但它只会禁用第一个复选框,所以请在这里帮助我。

谢谢!

1 个答案:

答案 0 :(得分:0)

HTML页面中不能有两个相同的id,没有什么可以阻止你在HTML页面中放置两个相同的ID,但是每次你这样做就会杀死一只小猫,并且还有两个id会在这样的情况下迷惑自己。每次在HTML页面中有两个相同的ID时,document.getElementById将返回它找到的第一个ID并停止关注另一个ID,因此它只适用于一个复选框。

您可以为复选框分配类,也可以使用name属性引用复选框,如果您的表单也已命名。

http://jsfiddle.net/Q5qNg/7/