2013-05-28 1 views
0

Я прочитал много вопросов и выполняю поиск в течение нескольких часов, но я все еще не могу найти решение, чего я точно хочу.PHP - HTML - Получите многократное значение флажка, не превратив его в массив

<form method="POST"> 
    <input type="checkbox" name="fruit" value="0" />No Preference 
    <input type="checkbox" name="fruit" value="1" />Apple 
    <input type="checkbox" name="fruit" value="2" />Orange 
    <input type="checkbox" name="fruit" value="3" />Banana 
</form> 

print_r ($ _ POST);

Я уже сделал проверку на значение 0 до 1,2,3, поэтому они будут инвертироваться, и я сделал это, используя цикл javascript для поиска имени элемента. Проблема в том, что я должен использовать имя элемента без изменения его имени массива. (например, Fruit => Fruit []). Поэтому мне нужно использовать это имя элемента, чтобы получить всю проверенную информацию, введенную клиентом. Я видел, как это можно сделать в ASP, но я не мог понять, как они поступают так, как это было давно.

Мой вопрос: может ли кто-нибудь нарисовать, как это сделать, не изменяя имя элемента в формат массива (например, Fruit => Fruit [])? T.T

Любая помощь будет оценена по достоинству. Спасибо.

+1

Он не зависит ни от каких языков программирования, как от HTML. Можете ли вы рассказать нам, почему вы так хотите? – Rikesh

+1

В чем проблема с использованием массива? потому что, когда вы отправите форму, ваш $ _POST ['fruit'] может иметь только одно значение до тех пор, пока это не будет массив. – sven

+0

это может помочь: http://stackoverflow.com/questions/4997252/get-post-from-multiple-checkboxes – Pete

ответ

-3

Я изменил проверку, используя следующую строку:

var GenBox = eval("document.forms['SubmitSearchAll']['" + oCheckBox+"[]']"); 

и он мне очень помогает. Теперь он решен.

Спасибо всем за вклад.

0

Как вы уже определили, когда вы отправляете одно и то же имя несколько раз, последний будет перезаписывать прежние. Решение состоит в том, чтобы создать скрытое поле

<input type="hidden" value="" name="foobar_as_array"> 

и использовать JQuery или простой JS для Concat своих ценностей в эту область на представить

<form ... onSubmit=$('#foobar_as_array').value(...concatenate them...);"> 
Смежные вопросы