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

另请检查您的开发人员工具,以查看您所做的更改是否反映在此处。由于浏览器缓存,源文件通常不会更新 –

相关问题