2012-06-27 83 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/ –