如何在javascript中组合两个变量?

时间:2013-10-08 15:58:28

标签: javascript variables

我正在尝试创建动态文本框。仅当前一个文本框非空时才应创建文本框。到目前为止,我已经完成了这个

<!DOCTYPE html>
<html>
<head>
<script>
var i=0;
function myFunction()
{

var box = document.createElement("input");
box.type = "text";

var str=box+i;
if(i==0)
{
 document.body.appendChild(box);
}
else if(document.getElementById('str').value!=0)
{ 
 document.body.appendChild(box);  
}

i++;
}
</script>
</head>
<body>

<input type="button" id="button" onclick="myFunction()" value="Show box" />
</body>
</html>

但str未被识别为元素ID。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

var i = 0;

function myFunction() {
    var lastInput = document.getElementById('box' + i);
    if (!lastInput) {
        // always put first input 
        document.body.appendChild(createInput(0));
    } else if (lastInput.value != 0) {
        // append another one only if previous input content is non-null
      i++;
      document.body.appendChild(createInput(i));
    }

}

function createInput(i) {
    var box = document.createElement("input");
    box.type = 'text';
    box.id = 'box' + i;
    box.value = 0;
  return box;
}

答案 1 :(得分:0)

你的错误:

  1. str = 'box' + i;

  2. 忘记分配box.id = str

  3. 使用getElementById(str)代替getElementById('str')