У меня есть вопрос по поводу флажков.
<form method="post">
I speak the following languages:
<input type="checkbox" name="lang[]" value="en">English<br />
<input type="checkbox" name="lang[]" value="fr">Français<br />
<input type="checkbox" name="lang[]" value="es">Español<br />
</form>
Необходимо ли называть флажки lang [] (используя массив) или я могу дать каждому флажку отдельное имя, например:
<form method="post">
I speak the following languages:
<input type="checkbox" name="lang_en" value="en">English<br />
<input type="checkbox" name="lang_fr" value="fr">Français<br />
<input type="checkbox" name="lang_es" value="es">Español<br />
</form>
Вопрос 1 Я считаю, что оба работают, если да, когда вы решаете, какой из них использовать?
Вопрос 2 Я использую второй метод, перечисленный выше, поэтому я могу использовать PHP для определения того, какой из флажков выбран, используя код, подобный if(isset($_POST['lang_en']))
. Если бы я использовал первый метод, есть ли быстрый способ проверить, установлен ли определенный флажок? На данный момент непроверенное решение, о котором я могу подумать, включает в себя if(in_array('lang_en', $_POST['lang']))
, чтобы проверить, существует ли оно в $ _POST.
Вопрос 3 Основной вопрос заключается в следующем: я использую второй метод, поэтому я могу легко проверить, установлен ли флажок в PHP. Теперь я хочу добавить текстовую ссылку, которая при нажатии выберет все флажки. Мой Javascript не слишком хорош, поэтому я использую скрипт из http://www.shiningstar.net/articles/articles/javascript/checkboxes.asp, но пример сценария использует массив для имен флажков, в то время как мой код PHP не может проверить, выбраны ли флажки с массивами, используются для имен флажков , Как можно изменить код javascript для работы без массивов?
Надеюсь, я смогу разгадать этот надоедливый вопрос! Спасибо!
EDIT
Javascript:
<!-- Begin
function checkAll(field)
{
for (i = 0; i < field.length; i++)
field[i].checked = true ;
}
function uncheckAll(field)
{
for (i = 0; i < field.length; i++)
field[i].checked = false ;
}
// End -->
</script>
HTML:
<form action="http://localhost/website/places/search" method="post" accept-charset="utf-8" name="subcategory">
<ul>
<li><input type="checkbox" name="cuisine_American" value="American" /> American</li>
<li><input type="checkbox" name="cuisine_Chinese" value="Chinese" onClick="checkAll(document.subcategory.cuisine)" /> Chinese</li>
<li><input type="checkbox" name="cuisine_Indian" value="Indian" onClick="checkAll(document.subcategory.cuisine)" /> Indian</li>
<li><input type="checkbox" name="cuisine_Japanese" value="Japanese" onClick="checkAll(document.subcategory.cuisine)" /> Japanese</li>
<li><input type="checkbox" name="cuisine_Korean" value="Korean" onClick="checkAll(document.subcategory.cuisine)" /> Korean</li>
<li><input type="checkbox" name="cuisine_Mexican" value="Mexican" onClick="checkAll(document.subcategory.cuisine)" /> Mexican</li>
<li><input type="checkbox" name="cuisine_Middle Eastern" value="Middle Eastern" onClick="checkAll(document.subcategory.cuisine)" /> Middle Eastern</li>
<li><input type="checkbox" name="cuisine_Pakistani" value="Pakistani" onClick="checkAll(document.subcategory.cuisine)" /> Pakistani</li>
<li><input type="checkbox" name="cuisine_Italian" value="Italian" onClick="checkAll(document.subcategory.cuisine)" /> Italian</li>
</ul>
</form>