如何在javascript中提取输入元素的值

时间:2016-05-16 09:36:38

标签: javascript

请问我想用id input-a提取输入表单的值,但程序会继续写c而不是用户输入的值。请帮忙。这是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 >

2 个答案:

答案 0 :(得分:1)

代码写'c'因为你输入

function testImage(url, callback, timeout) {
    timeout = timeout || 5000;
    var timedOut = false, timer;
    var img = new Image();
    img.onerror = img.onabort = function() {
        if (!timedOut) {
            clearTimeout(timer);
            callback(url, "error");
        }
    };
    img.onload = function() {
        if (!timedOut) {
            clearTimeout(timer);
            callback(url, "success");
        }
    };
    img.src = url;
    timer = setTimeout(function() {
        timedOut = true;
        callback(url, "timeout");
    }, timeout); 
}

如果你想要有c值,你应该输入

document.write('c')

但为了使它工作你应该在函数中设置这个值,处理表单提交后不生成表单...因为现在值为空字符串

这里有你的工作实例 https://jsfiddle.net/g8rschsu/

答案 1 :(得分: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>

我看到你用引号做了document.write(&#39; c&#39;), 这将写出字符串c而不是变量c。

此外,您必须获取输入的值而不是输入本身。

var c = document.getElementById(&#34; input-a1&#34;)。value;