2016-05-16 16 views
0

id input-aを使用して入力フォームの値を抽出しますが、ユーザーが入力した値の代わりにcを書き続けます。助けてください。これがJavaScriptコードです。javascriptで入力要素の値を抽出する方法

< body> 
<script> 
function tableCreate() { 
var body = document.body, 
tbl = document.createElement('table'); 
tbl.style.width = '100px'; 
tbl.style.border = '2px solid black'; 
    var n = 5 
    for (var i = 0; i < n; i++) { 
    var tr = tbl.insertRow();              
    var td =tr.insertCell(0); 
    var tf = tr.insertCell(0); 
    var input = document.createElement('input'); 
    input.name = "input-a" + i; 
    input.id = "input-a" + i; 
    input.value = ""; 
    var clone = input.cloneNode(); 
    clone.name = "input-b" + i; 
    clone.id = "input-b" + i; 
    td.appendChild(clone); 
    tf.appendChild(input); 
    td.style.border = '2px solid black'; 
    tf.style.border = '2px solid black'; 
} 
    var form = document.createElement("form"); 
    form.appendChild(tbl); 
    body.appendChild(form); 
    var submit = document.createElement("input"); 
    submit.type = "submit"; 
    form.appendChild(submit) 
    Var c= document.getElementById("input-a1) 
    document.write('c'). } 
    tableCreate(); 
</script> 
</body > 
+0

選択。値、選択された入力です。たとえば、document.getElementById( 'input-a1')。値 – thatOneGuy

+0

[JavaScript get input text value]の重複している可能性があります(http://stackoverflow.com/questions/11563638/javascript-get-input-text-value) – thatOneGuy

+0

引用符がない場合は、ここで引用符を削除する 'document.write( 'input-a1)' 'Var c = document.getElementById(" input-a1 ")' 'document.write ( 'c') ' コードを修正した後でコードが動作しない場合は、私たちにご相談ください:) –

答えて

1

あなたは、cの値を持たせたい場合は、

document.write(c.value); 

を入力する必要がありますが、それはあなたがこれを設定しなければならない作業を持っている

document.write('c') 

を入力しているため、コードが「C」を書いていますフォームを生成した後ではなく、フォームの送信を処理する関数の値。値が空の文字列であるため、

ここに実施例を持っている https://jsfiddle.net/g8rschsu/

+0

私は試しましたが、ページが読み込まれると、 "未定義"。入力ボックスに数字を入力してsubmitをクリックしても。 idの入力値を表示するのではなく、単にリロードするだけです。input-a1 – chika

+0

更新された応答 –

1

これは動作するはずです。

<script> 
    window.onload = function() { 
     function tableCreate() { 
      var body = document.body; 
      var tbl = document.createElement('table'); 
      tbl.style.width = '100px'; 
      tbl.style.border = '2px solid black'; 
      var n = 5; 
      for (var i = 0; i < n; i++) { 
       var tr = tbl.insertRow(); 
       var td = tr.insertCell(0); 
       var tf = tr.insertCell(0); 
       var input = document.createElement('input'); 
       input.name = "input-a" + i; 
       input.id = "input-a" + i; 
       input.value = "test"; 
       var clone = input.cloneNode(); 
       clone.name = "input-b" + i; 
       clone.id = "input-b" + i; 
       td.appendChild(clone); 
       tf.appendChild(input); 
       td.style.border = '2px solid black'; 
       tf.style.border = '2px solid black'; 
      } 
      var form = document.createElement("form"); 
      form.appendChild(tbl); 
      body.appendChild(form); 
      var submit = document.createElement("input"); 
      submit.type = "submit"; 
      form.appendChild(submit) 
      var c = document.getElementById("input-a1").value; 
      document.write(c); 
     }; 
     tableCreate(); 
    }; 
</script> 

私は、これは文字列cを書いていない変数cます、あなたが引用符で( 'C')のdocument.writeでし を見ました。

また、入力自体の値ではなく入力の値をとる必要があります。

var c = document.getElementById( "input-a1")。value;

+0

からjsfiddleを参照してください。動作しませんでした。ブラウザには何も表示されていません – chika

+0

スクリプトファイルを送信しても問題ありませんでした。 –

+0

あなたの開発者ツールを確認して、ここに反映されているかどうかを確認してください。多くの場合、ソースファイルはブラウザのキャッシュの原因で更新されません –

関連する問題