如何将我的表单值放在javascript数组中

时间:2013-11-09 15:41:54

标签: javascript arrays forms

我想创建一个脚本,我可以将表单放在javascript数组invoer[]中并显示总数

它经常停止工作,我搜索了很多,我真的找不到正确的方法:D

这是我的javascript代码

var strijk = ['broek', 'hemd', 'tshirt', 'lakens', 'korte broek', 'babykledij'];
var minuten = [5, 10, 5, 6, 3, 3];

function invoerstrijk() {
    document.write("<form action='' method='get' name='strijkform'>");
    for (var a = 0; a < minuten.length; a++) {
        document.write(strijk[a] + "<input id='" + strijk[a] + "' name ='" + strijk[a] + "' type='text' />" + "<BR>");
    }

    document.write("<button onclick='opgeven()'>opgeven</button>");
    document.write("</form>");
}

function opgeven() {
    var invoer = [];
    for (var a = 0; a < minuten.length; a++) {
        invoer[a] = document.getElementByI(strijk[a]).value;
    }

    var totaal;
    for (var a = 0; a < minuten.length; a++) {
        totaal += parseint(invoer[a]) * parseint(minuten[a]);
    }
    document.write("<input name=" + strijk[a] + " type='text' value=" + invoer[a] + " readonly />");
    if (invoer != []) {
        document.write("totaal aantal minuten" + totaal);
    } else {
        document.write("geen invoer");
    }
}

我的html看起来喜欢这个

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"   
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>

<script type="text/javascript" >
//my javasccript
</script>

<button id="B1" onclick="invoerstrijk()" >Nieuwe strijk</button>
</body>
</html>

1 个答案:

答案 0 :(得分:0)

这应该有效:

var strijk = ['broek', 'hemd', 'tshirt', 'lakens', 'korte broek', 'babykledij'];
var minuten = [5, 10, 5, 6, 3, 3];

function invoerstrijk() {
  document.write("<form action='' method='get' name='strijkform' onsubmit='return false;'>");
  for (var a = 0; a < minuten.length; a++) {
    document.write(strijk[a] + "<input id='" + strijk[a] + "' name ='" + strijk[a] + "' type='text' />" + "<BR>");
  }

  document.write("<button onclick='opgeven()'>opgeven</button>");
  document.write("</form>");
}

function opgeven() {
  var invoer = [];
  for (var a = 0; a < minuten.length; a++) {
    invoer.push(document.getElementById(strijk[a]).value);
  }

  var totaal = 0;
  for (var a = 0; a < minuten.length; a++) {
    totaal += (parseInt(invoer[a]) * parseInt(minuten[a]));
  }
  // !!! this is wrong because it is out of for !!!
  //document.write("<input name=" + strijk[a] + " type='text' value=" + invoer[a] + " readonly />");
  if (invoer.length > 0) {
    document.write("totaal aantal minuten " + totaal);
  } else {
    document.write("geen invoer");
  }
}

一些解释:

  1. onsubmit ='return false;' - 不发送表单并重新加载页面。
  2. invoer.push(document.getElementById(strijk [a])。value); - 将元素放入数组使用push。
  3. var totaal = 0; - init变量0因为它未定义。
  4. 拼写错误:错误: parseint ,好: parseInt ;不好: getElementByI ,好: getElementById
  5. 带有只读输入的行是错误的,因为它没有定义 变量未被定义。
  6. Plunker example