2011-01-11 11 views
1

ロード時にjspページのドロップダウンを無効にする必要があります.HTMLエレメントが無効になっている場合、htmlエレメントは投稿されません.Htmlエレメントと同じIDを持つ隠しエレメントを使用しようとしました要素を投稿してください。私はstruts.Anyアドバイスを使用していただきありがとうございます。Struts無効なフィールド

おかげ ぬ

答えて

1

あなたのアプローチは良かったが、あなたは、適切な属性を使用していませんでした。 nameは、id属性ではなく要求で送信されます。あなたが提出押すと値、

<script type="text/javascript"> 
    function disableCombo() { 
     var combo = document.getElementById("comboId"); 
     var txt = document.getElementById("txtId"); 
     combo.disabled = true; 
     txt.value = combo.value; 
    } 
</script> 

、その後...

<body onload="javascript:disableCombo();"> 
    <form method="get" action="t.html"> 
     <select name="comboName" id="comboId"> 
      <option value="v1">Value 1</option> 
      <option value="v2" selected="selected">Value 2</option> 
      <option value="v3">Value 3</option> 
     </select> 
     <input type="hidden" name="comboName" id="txtId" value="waiting to see what happens" /> 
     <input type="submit" value="watch the address bar" /> 
    </form> 
</body> 

:ここ

はそれを行う方法についての簡単な例(t.htmlという名前のファイルにこれを保存する)であります(リクエスト時にコンボを無効にしたときに隠しフィールドに既にコピーされている)コンボの値がリクエストで送信されます。

+0

私はまだ値が投稿されていないことをやってみました。

ロード時イム呼び出し:: \t関数disableDropDown() \t \t { \t \t VAR状態=文書 以下は私のコードです.getElementById( 'State'); \t \t var state1 = document.getElementById( 'State1'); \t state1.value = state.value; \t \t state.disabled = true; \t \t} – user573010

+0

@ user573010:JSPコードは問題なく表示されます。それは動作するはずです。私はそれがそれから生成されるHTMLの何かでなければならないと思う。フォーム内にフィールドがある場合(フォームなしで送信できない場合)、ページにがあるかどうかを確認します($ {Constants.STATESLIST}が解決しなかった可能性があります)正しく)。要するに、あなたのHTMLをチェックしてください。 –