У меня есть список писем, рядом с которым стоит флажок, и пользователь сможет выбрать, на какой адрес он / она хочет отправить электронное письмо. Теперь я добавил еще один флажок, который при включении будет проверять все остальные флажки. Ниже приведен код, который я написал (конечно, с помощью stackoverflow):
<SCRIPT LANGUAGE="JavaScript">
function selectFunction (checkall,field)
{
if(checkall.checked==true){
for (i = 0; i < field.length; i++)
field[i].checked = true ;
}else{
for (i = 0; i < field.length; i++)
field[i].checked = false ;
}
}
</script>
<form name="myform" action="profile-invite.html" method="post">
<b>Your Favorite Scripts & Languages</b><br>
<input type="checkbox" name="list" value="1">aaa@xxx.com<br>
<input type="checkbox" name="list" value="2">bbb@xxx.com<br>
<input type="checkbox" name="list" value="3">ccc@xxx.com<br>
<input type="checkbox" name="list" value="4">ddd@xxx.com<br>
<input type="checkbox" name="list" value="5">eee@xxx.com<br>
<input type="checkbox" name="selectallcb" value="Check All"
onClick="selectFunction(document.myform.selectallcb,document.myform.list)">
<input type="submit" name="formSubmit" value="Submit" />
</form>
Функция «выбрать все» работает нормально, но, используя print_r, я увидел, что при нажатии кнопки «Отправить» переданное значение является последним флажком, который я выбрал. Например, если я нажму 5-3-1-2, значение в $ _POST будет равно «2», а не остальным.
Я понял, что мой код может зарегистрировать только ОДИН выбранный флажок, поэтому учитывается только последний. Поэтому я переписал код, добавив [] за именем флажка:
<form name="myform" action="profile-invite.html" method="post">
<b>Your Favorite Scripts & Languages</b><br>
<input type="checkbox" name="list[]" value="1">aaa@xxx.com<br>
<input type="checkbox" name="list[]" value="2">bbb@xxx.com<br>
<input type="checkbox" name="list[]" value="3">ccc@xxx.com<br>
<input type="checkbox" name="list[]" value="4">ddd@xxx.com<br>
<input type="checkbox" name="list[]" value="5">eee@xxx.com<br>
<input type="checkbox" name="selectallcb" value="Check All"
onClick="selectFunction(document.myform.selectallcb,document.myform.list)">
<input type="submit" name="formSubmit" value="Submit" />
</form>
Теперь он регистрирует множественные выборы, когда я проверял с print_r. (Если я нажму 5-3-1-2, значение в $ _POST теперь будет [0] => 5, [1] => 3, [ 2] => 1, [3] => 2.)
Но флажок «выбрать все» больше не работает. Я предполагаю, что это связано с [], который преобразовал поле в массив. Я пробовал различные методы (заменив «document.myform.list» на «document.myform.list []» и т. Д.) Пока ни один из них не работает, я продолжу экспериментировать, но если у кого-то есть четкое представление о том, как объединить 2 кода выше, пожалуйста, помогите.
Спасибо