Есть ли способ получить значение SELECT в $ _POST, только если он действительно выбран? - PullRequest
0 голосов
/ 28 июня 2018

У меня может быть необычная проблема. У меня есть несколько «винтовых форм», а для каждой формы - несколько «винтовых».

Итак, у меня есть несколько форм SELECT, связанных с «типом винта». Все они скрыты. Они появляются после выбора пользователя при выборе формы винта. Другими словами, после того, как пользователь выберет форму винта, появится соответствующее меню выбора типа винта. Таким образом, только 1 тип выбора будет виден одновременно.

SELECT[shape]
   shape-1
   shape-2
   etc

SELECT[types for shape 1] // visible only if shape-1 is selected
   type-1
   type-2
   etc

SELECT[types for shape 2] // visible only if shape-2 is selected
   type-1
   type-2
   etc

...and so on...

Данные, которые мне нужно получить, это просто форма и связанный тип винта.

Проблема: $ _POST будет содержать все типы всех фигур: не хорошо. В противном случае я мог бы назвать каждый тип select массивом (винтом [тип]), и в итоге я получу только одно значение, но это значение всегда будет выбранным (или значением по умолчанию) последнего выбора типа: еще хуже.

Я хочу получить только $ _POST ['screw-shape'] и $ _POST ['screw-type'], каждый со значением, которое действительно выбрал пользователь.

Есть ли способ?

Ответы [ 2 ]

0 голосов
/ 28 июня 2018

Вы можете иметь несколько элементов формы с одинаковым именем; это все еще действительный HTML. Поскольку один выбор всегда будет скрыт из двух вариантов выбора для screw_type, ваша переменная записи будет иметь только одну запись для типа винта. Рассмотрим

<form action="...">
    <select name="screw_shape">
        ...
    </select>
    <select name="screw_type" class="hidden shape1">
        ...
     </select>
     <select name="screw_type" class="hidden shape2">
        ...
     </select>
</form>

Переключение скрытых классов в зависимости от ситуации с JavaScript будет обеспечивать отправку формы с параметрами запроса по мере необходимости.

0 голосов
/ 28 июня 2018

Старайтесь не только скрыть входы, но и отключить, отключенные входы не должны перемещаться в запросах

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