附加文本javascript,不要获取值

时间:2010-08-05 04:59:40

标签: php javascript

这是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>

3 个答案:

答案 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>