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

入力名を「whatever[]」に設定すると、PHPは入力データから配列を自動的に作成するため、ここで必要なのは変更するだけです

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

そして、その名前に要素のタイプを再利用したくない-それは2つの非常に異なるものであり、より良いものを考え出す

そして、そのすべてのカウンターのものをドロップします

于 2012-06-27T08:13:47.740 に答える
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 に答える