Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法识别表输入值_Javascript_Validation_User Input_Detect - Fatal编程技术网

Javascript 无法识别表输入值

Javascript 无法识别表输入值,javascript,validation,user-input,detect,Javascript,Validation,User Input,Detect,我试图找到输入表格的两个输入值之和,并将其显示在同一表格的另一个字段上。。 但不幸的是,当我尝试访问操作的输入值时,javascript显示未定义。。 在这个问题上请帮我一把。。 以下是javascript代码: //JavaScript文档 var$=函数(id){ 返回文档.getElementById(id); } var add=函数(){ var tablenode=$(“bod”); var td=tablenode.getElementsByTagName(“td”); var

我试图找到输入表格的两个输入值之和,并将其显示在同一表格的另一个字段上。。 但不幸的是,当我尝试访问操作的输入值时,javascript显示未定义。。 在这个问题上请帮我一把。。 以下是javascript代码:

//JavaScript文档
var$=函数(id){
返回文档.getElementById(id);
}
var add=函数(){
var tablenode=$(“bod”);
var td=tablenode.getElementsByTagName(“td”);
var i;
如果(td.长度>0){
对于(i=0;i

无标题文件
价值0
价值1
全部的
总计
首先,您有一个输入错误:

lenght -> length
第二个变化:

td[i].value
致:

更仔细地观察代码,我认为您需要迭代行,因此您需要
I+=3
而不是
I++

因此,总体代码如下所示:

// JavaScript Document
var $ = function(id) {
  return document.getElementById(id);
}
var add = function() {

  var tablenode = $("bod");

  var td = tablenode.getElementsByTagName("td");

  var i;
  if (td.length > 0) {
    for (i = 0; i < td.length; i+=3) {
      alert(td[i].innerText);
      // Assuming you have integer values
      //td[i+2].innerText= parseInt(td[i].innerText) + parseInt(td[i+1].innerText);
      // Assuming you don't have integer values
      //td[i+2].innerText= td[i].innerText + td[i+1].innerText;
    }
  } else
    alert("empty td");



}
var ass = function() {
  alert("reached");

  var con = $("bod");
  var row = document.createElement("tr");
  var dat = document.createElement("td");
  var content = document.createElement("input");
  content.type = "text";
  dat.appendChild(content);
  row.appendChild(dat);
  var data = document.createElement("td");
  var contenta = document.createElement("input");
  contenta.type = "text";
  data.appendChild(contenta);
  row.appendChild(data);
  var datb = document.createElement("td");
  var contentb = document.createElement("input");
  contentb.type = "text";
  datb.appendChild(contentb);
  row.appendChild(datb);
  con.appendChild(row);
}
window.onload = function() {
  //$("new").onclick=add;
  ass();
  $("next").onclick = ass;
  $("next").onmouseover = add;
//JavaScript文档
var$=函数(id){
返回文档.getElementById(id);
}
var add=函数(){
var tablenode=$(“bod”);
var td=tablenode.getElementsByTagName(“td”);
var i;
如果(td.length>0){
对于(i=0;i
只是一条评论

通过在一条语句中执行create和append,可以使ass函数更加简洁。还可以重用变量:

var ass = function() {
  alert("reached");

  var con = $("bod");
  var row = document.createElement("tr");
  var cell = row.appendChild(document.createElement("td"));
  var content = cell.appendChild(document.createElement("input"));
  content.type = "text";

  cell = row.appendChild(document.createElement("td"));
  content = cell.appendChild(document.createElement("input"));
  content.type = "text";

  cell = row.appendChild(document.createElement("td"));
  content = cell.appendChild(document.createElement("input"));
  content.type = "text";

  con.appendChild(row);
}
您还可以将第二个两个单元格的附件替换为:

row.appendChild(cell.cloneNode(true));
row.appendChild(cell.cloneNode(true));

.value
不能用于
元素,只能用于
元素。此外,您还有一个输入错误:
td.lenght
$(“bod”);到$(“#bod”);?
如果(td.lenght>0)
是多余的,因为如果长度为0,则for循环无论如何都不会运行,即使键入是固定的。-,最好测试
如果(tablenode)
由于$function可能返回null。要在行上进行迭代,需要集合。很高兴得到急需的帮助..不知道不能使用.value..bt,有一个问题:如果innertext同时包含整数值和非整数值,会发生什么情况…使用
isNan
检查字符串是否是数字,如果不是整数,它将返回false呃
row.appendChild(cell.cloneNode(true));
row.appendChild(cell.cloneNode(true));