2012-06-27 52 views
0

我想要以动态生成输入文本的形式获取客户的电话号码。我做了这个处理在JavaScript中动态生成的输入文本阵列

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

我想,如果你设置输入名称“无论[]”,那么PHP将得到输入文本,或计数器

回答

0

的最后一个值的名称数组自动创建输入数据数组因此,所有你所需要的是改变

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

,你真的不希望重用元素的类型,它的名字 - 这是2个非常不同的东西,拿出更好的东西

和抛弃所有计数器东西

+0

你能给提前 –

+1

详情please.thanks我给你足够多的细节** **更多。没有详细信息,我的答案看起来像“append []到您的输入名称,你会得到一个数组,当你张贴表单数据” – keymone

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> 
+0

谢谢,以及如何使用PHP获得他们的价值?我可以使用$ _post ['phonenumbers [i]'] –

+0

我试过了,但没有显示任何输入文字。 –

+0

你可以参考我的博客http://ckvinoth.blogspot.in/ –