2016-05-16 54 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

selection.value,選擇是輸入。例如,document.getElementById('input-a1')。value – thatOneGuy

+0

[JavaScript獲取輸入文本值]的可能重複(http://stackoverflow.com/questions/11563638/javascript-get-input-text-value) – thatOneGuy

+0

你在這裏缺少一個引號'Var c = document.getElementById(「input-a1)'它應該是'Var c = document.getElementById(」input-a1「)' '也可以在這裏刪除引號'document.write ('c')' 如果在修復代碼後它沒有開始工作,請告訴我們,以便我們幫助:) –

回答

1

代碼寫的「C」,因爲你鍵入

document.write('c') 

,如果你想擁有的C值你應該輸入

document.write(c.value); 

,但有它的工作,你應該設置此函數中處理表單的值在生成表單後不提交...因爲現在的值爲空字符串

這裏你有工作示例 https://jsfiddle.net/g8rschsu/

+0

我試過了,但是當頁面加載時,表格顯示後面跟着字符串「未定義」即使在輸入框中輸入數字並點擊提交只是簡單地重新加載,而不是顯示輸入的值與輸入-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。

此外,你必須採取輸入的價值,而不是輸入本身。

var c = document.getElementById(「input-a1」).value;

+0

jsfiddle它沒有奏效。瀏覽器沒有顯示任何內容 – chika

+0

您可以發送您的腳本文件,因爲我嘗試過它並且它可以正常工作 –

+0

另請檢查您的開發人員工具,以查看您所做的更改是否反映在此處。由於瀏覽器緩存,源文件通常不會更新 –

相關問題