Javascript阵列加入()和getelementbyid错误
我是新来的javaScript,我有很多麻烦与它..这个程序背后的一般想法是,用户在6个文本框中输入一些值,并在提交后,那些在文本结果框中显示为concatecated。但是到目前为止,文本框中没有任何价值,我不知道错误是什么......任何人都可以请我指出正确的方向吗?Javascript阵列加入()和getelementbyid错误
<html>
<head>
<script type="text/javascript">
function concatetext(array)
{
var n = new Array[];
for (var i=0; i<f['array[]'].length; ++i)
{
n[x] = document.forms["form1"].elements["array" + x].value;
}
document.getElementById('textresult').innerHTML = n.join();
}
</script>
</head>
<body>
<form id="form1" onsubmit="concatetext(text)">
text 1:<input type="textbox" name="text[]" size="16 px" />
<br />
text 2:<input type="textbox" name="text[]" size="16 px" />
<br />
text 3:<input type="textbox" name="text[]" size="16 px" />
<br />
text 4:<input type="textbox" name="text[]" size="16 px" />
<br />
text 5:<input type="textbox" name="text[]" size="16 px" />
<br />
text 6:<input type="textbox" name="text[]" size="16 px" />
<br />
<input type="submit" value="Submit" name="submit" />
<br /><br />
text Result:<input type="textbox" id="textresult" size="35 px" />
<br />
</form>
</body>
</html>
var text = "";
$("#form1 input").each(function() {
text += $(this).val();
});
$("#textresult").val(text);
使用jQuery
使用原始的javascript:
var text = "";
var inputs = document.getElementsByName("text[]");
for (var i = 0, ii = inputs.length; i < ii; i++) {
text += inputs[i].value;
}
document.getElementById("textresult").value = text;
感谢您的输入,但问题仍然存在..它仍然不会在文本框中显示结果。 – user753918 2011-05-14 19:44:06
@ user753918请务必使用'.value = text',它可能不会在IE8中工作 – Raynos 2011-05-14 19:47:43
既然'querySelectorAll'是'getElementsByTagName'的有用替代方法吗?自从什么时候全球支持'Array.forEach'? – Zirak 2011-05-14 19:53:53
要设置<input>
你不使用 “的innerHTML” 的内容,您可以使用“价值”:
document.getElementById("textresult").value = text;
此外,“大小”属性应该只是“35”,否则你可以给它一个“样式”与“宽度:35px”。 “size”属性以“em”单位设置大小(我认为),所以如果你想用35像素代替“style”。
什么是f和x? – DrStrangeLove 2011-05-14 19:09:04
什么'f ['array []']' – Raynos 2011-05-14 19:09:23
请使用'id'属性而不是'name'属性。你以后会感谢我。 – 2011-05-14 20:10:53