javascript
  • jquery
  • html
  • spring-mvc
  • 2016-07-01 9 views -5 likes 
    -5

    私はのようなものです、JavaScriptから移入されたループである入力タイプテキストの値を取得しようとしています:私はすることができる午前は、私は、テキストボックスの値を取得する必要があり

    test.innerHTML += "<span class=egclass'><span class='egclass2'><input type='text' id='idText' name='textName' value='${eController.userName["+i+"]}' /></span> 
    

    を入力されたテキスト値をバックエンドコントローラに送信しますが、値を取得できません:document.getElementsByName [i] .value;

    何か助けていただければ幸いです。

    ありがとうございました。

    +0

    'document.getElementsByName'の代わりに' document.getElementById'を使用するべきではありませんか? – ThePloki

    +0

    'document.getElementsByName(" textName ")[i] .value'を試しましたか? –

    +0

    私はgetElementByIdも使ってみました。しかし、それは動作しません。私はnullになっています。 @ThePloki – Rnga

    答えて

    1

    あなたはより多くのコードを掲示した場合、我々はコンテキストについて少し混乱しているので、それは役立つだろうが、私はそれに打撃を与えるだろう:

    たが、これに変更してみてください:

    test.innerHTML += "<span class=egclass'><span class='egclass2'><input type='text' id='idText_"+i+"' name='textName' value='${eController.userName["+i+"]}' /></span> 
    

    を次に、あなたはそれにアクセスすることができるはずですdocument.getElementById('idText_'+i).value

    希望に役立ちます。

    編集:.innerHTMLから.valueに変更されました。また、Cobusがコメントで述べたように、この問題を解決する理由は、すべての入力がユニークなIDを持つためです。

    +0

    "document.getElementsByName(" textName ")[i] .value"は完全にうまく動作します@ ThePloki。あなたの提案に感謝します。私は上記のように試してみましょう。 – Rnga

    +0

    ちょっと説明すると、元のコードでは同じIDの複数の入力が作成されるという問題があります。それらの最初のものだけがアクセス可能になります。この回答は、一意のIDを作成することで問題を解決します。 –

    +0

    また@Rngaもしあなたが答えが大好きなら、それを受け入れてください。 –

    関連する問題