这是java脚本中附加输入框中的代码,我没有在输入框中获取值
<script type="text/javascript">
function addInput()
{
var x = document.getElementById("inputs");
x.innerHTML += "<input type=\"text\" name=\"box[]\" id=\"box[]\"/>";
i++;
}
function getdata()
{
}
</script>
<input type="button" onmousedown="addInput();" value="add" />
<input type="button" value="getvalues" onclick="getdata()" />
<div id="inputs"></div>
答案 0 :(得分:2)
你在做什么应该有效,但另一种做法是(效率稍高):
function addInput() {
var input = createTextInput({
"type": "text",
"name": "box[0]",
"id":"box[]",
"value": "This is a value"
});
document.getElementById("inputs").appendChild(input);
}
// warning: just to be safe, don't pass any option object that extends any
// browser's native object or built in objects.
function createTextInput(options) {
var i = document.createElement("input");
for(key in options) {
i[key] = options[key];
}
return i
}
function getValues() {
var div = document.getElementById("inputs");
var values = [];
var textBoxes = div.getElementsByTagName("input");
for(var i = 0, len = textBoxes.length; i < len; i++) {
var box = textBoxes[i];
if(box && box.name === "box[]") {values.push(box.value);}
}
return values;
}
还有其他方法,例如:使用jQuery,它更简单,更简洁,但这只是简单的'ol js方式
答案 1 :(得分:0)
代码本身应该有用。试试这个:将函数声明中的addInput复制到onmousedown中的callin 由于某种原因,mousedown的呼叫无法识别。我的JS引擎告诉我,没有找到addInput(就像在mousedown中写的那样)。
答案 2 :(得分:0)
要获取输入字段的值,请为输入字段指定名称,然后您可以通过表单访问它。当存在多个同名字段时,字段将作为数组返回:
<script type="text/javascript">
function addInput()
{
var x = document.getElementById("inputs");
x.innerHTML += "<input type=\"text\" name=\"userNames\"/>";
}
function getdata()
{
var form = document.forms['myForm'];
//To handle single/multiple input elements
var names = !form.userNames[0] ? [form.userNames] : form.userNames;
var nameValues = [];
for(var index = 0; index < names.length; index++) {
nameValues[index] = names[index].value;
}
return nameValues;
}
</script>
<form name="myForm">
<input type="button" onmousedown="addInput();" value="add" />
<input type="button" value="getvalues" onclick="alert(getdata())" />
<div id="inputs"></div>
</form>