2016-08-04 2 views
0

私は、このHTMLコードを持っている:インデックス付きフォーム変数を設定する方法は?

document.forms['form'].myvar.value='1';document.form.submit(); 

これは問題なく、正常に動作します:

<input name=myvar type="hidden"/> 

私は、フォームを送信する前に値を設定するには、この簡単なスニペットを使用します。すべての成功せず、私はこれらを試してみました

<input name="myvar[js]" type="hidden"/> 

:ので、対応するPHPコードの変更の

、私は、インデックス付きの変数を使用する変数の名前を変更する必要が

document.forms['form'].myvar[js].value='1'; // Error: "myvar" not defined 
document.forms['form'].myvar['js'].value='1'; // Error: "js" not defined 
document.forms['form'].myvar["js"].value='1'; // SyntaxError: expected expression, got end of script 

どのように私はその変数をJavaScriptで設定できますか?

+0

このようにあなたの入力にアクセスすることはお勧めできません。代わりに 'document.querySelector( '#form [name =" myvar [js] "])。value' – evolutionxbox

答えて

5

IDを追加してみてください。

document.forms['form']['myvar[js]'] 
0

あなたがしてそれにアクセスすることができます

<input name=myvar[js] id="myvarJS" type="hidden"/> 

そして

document.getElementById("myvarJS").value='1' 
0

あなたは要素を取得するためにgetElementsByNameを使用することができます。

document.getElementsByName('myvar[js]') 
関連する問題