0

ラジオ ボタンの選択に基づいてフィールドを非表示/非表示にする動的フォームを作成しています。以下に示すように、ポータル環境で正常に動作している通常の JavaScript 関数を使用していました (ID は、ソースを表示して取得した JSF ID です)。

 function printHiddenValue(){
         alert("hello");
       alert(document.getElementById('A1938:j_idt4:create-ticket:hiddenId').value); 
       if(document.getElementById('A1938:j_idt4:create-ticket:j_idt19:0').checked){
           alert("incident sellected")
       } else
           {
           alert("change sellected")

           }

    }

しかし、ポータル環境によって異なる id が生成されるため、別の環境で戦争を展開すると失敗します。

4

1 に答える 1

1

A1938idの一部だけでなくj_idt4、たとえばページの構造を変更した場合にも変更される可能性のある動的IDに依存しないでください。コンポーネントにIDを割り当てる必要がj_idt4あります。最初の部分では、EL#{facesContext.externalContext.response.namespace}を使用してポートレットの名前空間を取得できます。

document.getElementById('#{facesContext.externalContext.response.namespace}:j_idt4:create-ticket:hiddenId')
于 2013-03-22T08:06:40.987 に答える