2014-05-15 44 views
0

我想分開幾個部分,每個輸入都具有相同的名稱屬性。PHP多組單選按鈕碰撞

<div class="section"> 
<h4>Radio-option</h4> 
<input type="radio" name="radio_array[]" value="yes" />Yes 
<input type="radio" name="radio_array[]" value="no" />no 
</div> 

<div class="section"> 
<h4>Radio-option</h4> 
<input type="radio" name="radio_array[]" value="yes" />Yes 
<input type="radio" name="radio_array[]" value="no" />no 
</div> 

<input type="button" onclick="functionToAddAnotherSection()" value="Add Section" /> 

這些div部分可以添加,重複甚至排序(jQuery可排序)。我沒有這些部分的任何ID鍵,它們都被嵌入到一個數組中,當它們再次顯示時,我只需打破數組並將每個值放入每個部分。

+0

我不確定你的問題是什麼 – WillardSolutions

+0

而......你的問題是什麼? – Pipe

+0

您應該至少分配一個ID或某物以將屬性賦予任何部分。否則,您應如何收集任何信息? – briosheje

回答

1

您需要爲每一組單選按鈕設置一個唯一的name,或者將每組單選按鈕放置到它們自己的<form>元素中。

其中任何一種都可以解決您的問題。哪一個你使用真的取決於你是如何處理在服務器端的數據:

獨特form元素:

<div class="section"> 
    <form> 
    <h4>Radio-option</h4> 
    <input type="radio" name="radio_array[]" value="yes" />Yes 
    <input type="radio" name="radio_array[]" value="no" />no 
    </form> 
</div> 

<div class="section"> 
<h4>Radio-option</h4> 
    <form> 
    <h4>Radio-option</h4> 
    <input type="radio" name="radio_array[]" value="yes" />Yes 
    <input type="radio" name="radio_array[]" value="no" />no 
    </form> 
</div> 

獨特的名字:

<div class="section"> 
    <form> 
    <h4>Radio-option</h4> 
    <input type="radio" name="radio_array_section1[]" value="yes" />Yes 
    <input type="radio" name="radio_array_section1[]" value="no" />no 
    </form> 
</div> 

<div class="section"> 
<h4>Radio-option</h4> 
    <input type="radio" name="radio_array_section2[]" value="yes" />Yes 
    <input type="radio" name="radio_array_section2[]" value="no" />no 
</div> 
+0

感謝您的回答,但我處理數據的方式非常複雜。如前所述,這些部分可以添加,複製和重新排序,因此我不知道如何爲每個部分添加名稱,而不必在排序或添加時將其弄亂。使用

也是一個問題,因爲它只會發佈第一個而忽略其他的。這是我正在研究的wordpress meta-box,可能會有所幫助 – user2994294

+0

然後,使用CBroe的答案可能是唯一的出路。指定名稱作爲數組的索引:'radio_array [0]','radio_array [1]'等。 –

1

你可以使用嵌套陣列

<form> 
    <div class="section"> 
     <h4>Radio-option</h4> 
     <input type="radio" name="radio_array[0][]" value="yes" />Yes 
     <input type="radio" name="radio_array[0][]" value="no" />no 
    </div> 

    <div class="section"> 
     <h4>Radio-option</h4> 
     <input type="radio" name="radio_array[1][]" value="yes" />Yes 
     <input type="radio" name="radio_array[1][]" value="no" />no 
    </div> 

    ... 
     <input type="radio" name="radio_array[2][]" value="yes" />Yes 
     <input type="radio" name="radio_array[2][]" value="no" />no 
    ... 
</form> 

...等等。

+1

爲什麼這不是被接受的答案,這似乎是天才...我可能錯了它有一段時間以來我使用PHP,但不能你還與radio_array ['section_name'] []。而不是編號索引。 – Snymax