0

checkboxes以下に示すように、コードには2つあります。

<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');
        },

上記のコードは機能しますが、最初のチェックボックスのみが無効になるため、ここで助けてください。

ありがとう !

4

1 に答える 1

0

HTMLページに同じIDを2つ持つことはできません。HTMLページに同じIDを2つ入れることを妨げるものは何もありませんが、そうするたびに子猫を殺し、さらに2つのIDを持つと混乱しますこのような場合。document.getElementByIdHTMLページに同じIDが2つあるたびに、最初に見つかったIDを返し、もう一方のIDを気にするのをやめます。したがって、1つのチェックボックスでしか機能しません。

チェックボックスにクラスを割り当てるか、フォームにも名前が付けられている場合は name 属性を使用してチェックボックスを参照できます。

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

于 2012-04-20T11:19:12.780 に答える