Отправка формы GET с несколькими одинаковыми элементами приводит к длинной строке запроса - PullRequest
0 голосов
/ 28 марта 2012

У меня есть form[method=get], у которого несколько флажков имеют одинаковое имя .

при отправке формы, URL в конечном итоге выглядит как

?MyCB=0&MyCb=4&MyCB=10

Я хочу, чтобы запрос GET отображался в браузере как (который действителен и работает).

?MyCB=0,4,10

Есть ли в форме атрибут, который я могу установить в форме для этого?

Последним средством было бы перехватить GET с помощью jquery (вот почему я пометил так, что там есть какие-нибудь вспомогательные функции).

Ответы [ 2 ]

2 голосов
/ 10 сентября 2012

Вы можете использовать jquery и сделать это:

<script>
function sendtheform(){

var theurldata = $("input.MyCBclass").map(function() {
   return $(this).val();
}).get().join(",");

window.location ='yoururl.html?MyCB='+theurldata;
}
</script>

Вот элементы формы HTML:

<input name="MyCB" class="MyCBclass" type="checkbox" value="1">
<input name="MyCB" class="MyCBclass" type="checkbox" value="2">
<input onClick="sendtheform()" type="button">

Это приведет к:

yoururl.html?MyCB=1,2
0 голосов
/ 28 марта 2012

Вы можете просто не использовать $ _GET и обрабатывать всю форму с помощью jquery, а затем установить window.location в массив.

Вы не можете добавить атрибут, который позволяет формам объединять несколько переменных $ _GET в массив, хотя, к сожалению.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...