2015-02-14 2 views
0

Вот моя ссылка: http://vkacademy.in/medvanndemo/normal.htmlФлажки и HTML5 «требуется»

выберите объект имеет три галочки. Я включил атрибут required в первый флажок для проверки HTML5 для этих флажков.

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

<form name="vk" action="" method="post"/> 

Name:<input type="name" name="username" value="" required/><br/><br/> 
password:<input type="password" name="password" value="" required/><br/><br/> 
Please select subject: 
<input name="subject[]" type="checkbox" value="all" required>All Subject 
<input name="subject[]" type="checkbox" value="science" >Science 
<input name="subject[]" type="checkbox" value="maths">Maths<br/><br/><br/> 

Please select Subject for class twelve<br/> 

<input type="checkbox" name="classfivesubject[]" id="mat" value="BScTuition (Physics)" required >BScTuition (Physics)<br/> 
<input type="checkbox" name="classfivesubject[]" id="mat" value="BSc Tuition (Chemistry)">BSc Tuition (Chemistry)<br/> 
<input type="checkbox" name="classfivesubject[]" id="mat" value="BCA Tuition (Computer)">BCA Tuition (Computer)<br/> 
<input type="checkbox" name="classfivesubject[]" id="mat" value="BCA Tuition (IT)">BCA Tuition (IT)<br/> 
<input type="checkbox" name="classfivesubject[]" id="mat" value="BSc Tuition (Biology)">BSc Tuition (Biology)<br/> 
<input type="checkbox" name="classfivesubject[]" id="mat" value="BSc Tuition (MicroBiology)">BSc Tuition (MicroBiology)<br/> 
<input type="checkbox" name="BSc Tuition (MicroBiology)" id="mat" value="BSc Tuition (MicroBiology)">BSc Tuition (MicroBiology) 
<input type="checkbox" name="BSc Tuition (Zoology)" id="mat" value="BSc Tuition (Zoology)">BSc Tuition (MicroBiology)<br/> 
<input type="submit" name="submit" value="Submit"/> 
</form> 
+0

и в чем вопрос? – Sigismundus

+0

Среди субъекта вы можете выбрать любой предмет. Я дал обязательное поле для всего предмета. Пользователь может выбрать науку, математику, allsubject или все три предмета, но по крайней мере любой из трех. Это не должно быть пустым? как это сделать в hmtl5. где указать требуемый атрибут? в трех флажках. –

+0

Возможный дубликат флажка [Как проверить группу в html5?] (Http://stackoverflow.com/questions/28497361/how-to-validate-the-group-checkbox-in-html5) – worldofjr

ответ

0

Нет стандартного способа HTML5 для этого. вы можете использовать Jquery для такой проверки.

+0

Фактически [HTML5] (http://www.the-art-of-web.com/html/html5-form-validation/) может сделать это за вас. Проблема заключается не в том, что каждый браузер может обрабатывать HTML5 – Sigismundus

+0

@Sigismundus. Он не будет работать для массива флажков, если вы не хотите, чтобы определенные флажки были выбраны (например, принятие Условий и условий). Вы не можете подтвердить, что один из массивов был выбран в HTML5. – worldofjr

1

С кодом возникает ряд проблем;

1) Вы закрыли тег формы самостоятельно. В то время как многие браузеры будут игнорировать это, избавьтесь от закрытого пользователя />.

2) Если вы хотите, чтобы пользователь выбирал один из вариантов из списка, например поле вашего объекта, вы должны использовать переключатели;

<input name="subject" type="radio" value="all" selected>All Subject 
<input name="subject" type="radio" value="science">Science 
<input name="subject" type="radio" value="maths">Maths 

В дополнение к этому, вы не можете использовать required аргумент для флажков (в массиве флажков *) или радио-кнопки. Для переключателей вы можете принудительно выбрать параметр, используя аргумент selected по одному из вариантов (как правило, первый), как я это сделал выше.

3) Вы не указали то же самое name всем Класс 5 Предмет checkboxes. Я предполагаю, что это всего лишь ошибка. Используйте classfivesubject[] для всех из них или просто classfivesubject, если вы используете переключатели.

4) Вы даете то же самое id нескольким элементам. Это плохое кодирование. id должен отображаться один раз на странице и один раз. Чтобы использовать стили или другие функции для нескольких элементов, используйте class.

<input id="mat"> <!-- use once --> 
<input class="mat"> <!-- can use multiple times --> 

Надеюсь, это поможет.

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

+0

у вас есть моя концепция? Есть ли способ проверить групповой ящик, потому что вы можете видеть мою форму рядом с колонкой темы, в которой находится другая колонка темы, поэтому в моей форме есть много тематических столбцов здесь, мне нужно использовать имя, которое имеет только массив . Если я поддерживаю поле формы. имеет массив, который легко обрабатывать в php и моей структуре db. Теперь у вас появилось больше идей. Я хочу, чтобы эта штука была только в клетке? или пользователь jquery или javascript?Я знаю, что ясно. Поскольку html5 прост и поддерживается для всех браузеров и прост в использовании. Любой пользователь будет выбирать любой предмет, чтобы я сохранил флажок. –

+0

быть четким; HTML5 ** не поддерживается ** во всех браузерах. Safari, например, вообще не поддерживает аргумент 'required'. – worldofjr

+0

ОК. Позвольте мне повторить еще раз. ** Если вы хотите, чтобы пользователь выбирал одну опцию только из списка **, то используйте радиокнопки - в этом случае «значение» выбранного переключателя возвращается в переменной '$ _POST ['name']' (где 'name' - это имя, присвоенное группе переключателей, см. в ответе). Чтобы разрешить пользователю выбирать два или более параметра, используйте флажки - вам нужно javascript/jQuery, чтобы подтвердить это при отправке формы. – worldofjr

Смежные вопросы