0

我想以动态生成输入文本的形式获取客户的电话号码。我做了这个

<HTML>
<HEAD>
<TITLE> get telephones </TITLE>

<SCRIPT language="javascript">
function add(type) {

//Create an input text dynamically.

    if(typeof add.counter=='undefined')
    {
        add.counter=0;
    }
    add.counter++;
    var element = document.createElement("input");

    //Assign different attributes to the element.
    element.setAttribute("type", type);
    element.setAttribute("value", "");
    element.setAttribute("name", type.concat(add.counter));

    var foo = document.getElementById("fooBar");

    //Append the element in page (in span).
    foo.appendChild(element);
    return add.counter;

  }
</SCRIPT>
</HEAD>
<BODY>
<FORM action="test1.php" method="post">
 //here I think there is a problem
<INPUT type="button" value="Add" onclick="<?php echo "add('text')";?>"/>
<INPUT type="submit" value="Add" />
<span id="fooBar">&nbsp;</span>

</FORM>
</BODY>
</HTML>

我想获取输入文本名称的数组,或计数器的最后一个值

4

2 回答 2

0

这里回答

  <INPUT type="button" value="Add" onclick="add('text')"/>
 <INPUT type="button" value="allPhoneNumbers" onclick="allPhoneNumbers()"/>
<script type="javascript">
  function add(type) 
  {
  if(typeof add.counter=='undefined')
 {
    add.counter=0;
 }
 add.counter++;
 var element = document.createElement("input");

 //Assign different attributes to the element.
 element.setAttribute("type", type);
 element.setAttribute("value", "");
 element.setAttribute("id", type.concat(add.counter));
 element.setAttribute("name", 'phonenumbers[]');

 var foo = document.getElementById("fooBar");

 //Append the element in page (in span).
 foo.appendChild(element);
 return add.counter;
}
 function allPhoneNumbers()
 {
var phonenumbers=document.getElementsByName('phonenumbers[]');

    for(var i=0;i<phonenumbers.length;i++)
    {
        alert(phonenumbers[i].value);
    }     }

</script>
于 2012-06-27T08:16:18.843 回答
0

如果您将输入名称设置为“whatever[]”,那么 PHP 将自动从输入数据创建数组,因此您只需更改

element.setAttribute("name", type.concat(add.counter));
// to
element.setAttribute("name", "thename[]");

而且你真的不想重用元素类型的名称 - 这是两个非常不同的东西,想出更好的东西

扔掉所有反面的东西

于 2012-06-27T08:13:47.740 回答