Показать сообщение отдельно
  #7 (permalink)  
Старый 22.07.2017, 13:24
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Огонек
Если вы таким образом хотели "подтолкнуть" меня к решению
Я ничего не пытаюсь, а ваша задача пояснять, что требуется. Я ведь упоминал об именах, где черным по белому было написано: поля формы не имеющие имен на сервер не передаются. А вы даже это и во внимание не приняли, каким же образом вы хотите их получить на сервере, флажки свои?

Отправьте такую форму:

<form>
<input value="Hello!">
<button>Send</button>
</form>


По умолчанию форма передается методом GET, то есть ее передача будет отображена в адресной строке браузера. Что либо будет из формы в этой строке?

И только если дадим имя полю, например name="as", тогда мы увидим в адресной строке ?as=Hello!

Теперь встает вопрос как именовать флажки. Лучший способ, это (для РНР) именование их как элементы массива, например так:

<input type="checkbox" name="check[]" value="{$next_state.id_order_state}" {if $next_state.checked == 1}checked="checked"{/if}>


Идентификаторы выброшены за ненадобностью. Если передать форму с такими именованием флажков, то сервер получит массив в котором под ключом check будут его элементы - идентификаторы флажков, которые выбраны. Если ни один флажок не будет выбран, этого массива сервер не получит вообще, так как не выбранные флажки не передаются формой.

Картина может измениться, если передавать серверу форму асинхронно, можно и отказать от имен, но это нецелесообразно, а вот если изменение каждого флажка порождает запрос на сервер, тут хватит и ID, а формы в общем-то и не требуется.

Последний раз редактировалось laimas, 22.07.2017 в 13:27.
Ответить с цитированием