Управление чекбоксами
Задача: Выделить все чекбоксы, при нажатии на первый, и снятие выделения, при повторном нажатии.
Казалось бы ничего сложного, но большинство найденных мною скриптов идут с использованием свойства name чекбокса. В моем случае name изменять было нельзя. Так что пришлось немного подумать над созданием своего скрипта.
Форма простая, состоит только из чекбоксов, поэтому проверять каждый элемент на тип нет необходимости.
Вот что получилось:
<script type="text/javascript">
function checkAll(form)
{
if(form.elements[0].checked == true)
{
for (i = 1, n = form.elements.length; i < n; i++)
{
form.elements[i].checked = true;
}
}
else
{
for (i = 1, n = form.elements.length; i < n; i++)
{
form.elements[i].checked = form.elements[i].defaultChecked;
}
}
}
</script>
//форма
<form name="checkform" method="post" action="">
<input type="checkbox" name="checker" onclick="checkAll(this.form);" /> chekALL
<input type="checkbox" name="1" /> 1
<input type="checkbox" checked name="2" /> 3
<input type="checkbox" name="3" /> 4
</form>
По клику на первый чекбокс происходит его активация и вызов функции checkAll(), в которой идет проверка состояния этого чекбокса:
form.elements[0].checked
Если он активируется, то в цикле происходит активация всех остальных чекбоксов формы:
form.elements[i].checked = true
Если же первый чекбокс деактивируется, то чекбоксам возращается их старое значение:
<code>form.elements[i].checked = form.elements[i].defaultChecked
Полезные сылки: Checkbox Object, Form Object

> можно побольше фрифт кода
> и ещё хотелось бы узнать, как стилизовать всплывающее окно alert
Например этот - http://www.leigeber.com/2009/05/javascript-popup-box/
или плагины к jQuery.