вопросы по JavaScript
...
<input type=hidded name=Var[First] value=no>
<input type=checkbox name=Var[First] value=yes>First
<input type=hidded name=Var[Second] value=no>
<input type=checkbox name=Var[Second] value=yes>Second
...
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Test Checkbox</title>
<script type="text/javascript">
function s(form) {
if(!form.c1.checked) {
form.c1.value="off";
form.c1.checked = true;
}
if(!form.c3.checked) {
form.c3.value="off";
form.c3.checked = true;
}
}
</script>
</head>
<body>
<form name="xform" onSubmit="s(this)">
<input type="checkbox" name="c1" value="x"><br>
<input type="checkbox" name="c2" value="y"><br>
<input type="checkbox" name="c3"><br>
<input type="checkbox" name="c4"><br>
<input type="submit" value="send">
</form>
</body>
</html>
PS. Писать цикл с перебором всех checkbox'ов было лень.
Вопрос из разряда тех, что обычно имеют другое решение.
Такие вещи проще разгребать на сервере.
Но если в падлу, или не имеешь доступа...
<script>
function check_it{
var cb = document.forms.mod.c1;
if( cb.checked ) {
document.forms.mod.c1.value="yes";
} else {
document.forms.mod.c1.checked=true;
document.forms.mod.c1.value="no";
}
}
</script>
<form name="mod" action="http://www.rusmarket.ru" method="get">
<input type="checkbox" name="c1" value="">
<input type="submit" onclick="check_it">
</form>
Проще и правильнее изменить логику скрипта, который обрабатывает запрос, а не ковырять клиента подгоняя под серверный скрипт
Ничаво ни панемаю
необходмо трахаться на клиенте.... А я в JavaScript'e не силён
Всем спасибо.
<script>
function checkForm(el)
{
document.all[el+'_'].value = document.all[el].checked?"yes":"no";
}
</script>
<form name="f1">
<input type="hidden" name="c1_" value="no">
<input type="checkbox" id="c1" name="c1" value="no" onClick="checkForm('c1')">
<br>
<input type="hidden" name="c2_" value="no">
<input type="checkbox" id="c2" name="c2" value="no" onClick="checkForm('c2')">
<br>
<input type="submit">
</form>
2. Зачем вешать скрип на каждый элемент, когда это можно сдеалть один раз, перед отправкой.
2 А если у клиента не работает JS, то что делать будешь?
у меня вообще ограничения по браузеру тоько IE начиная с 6.0 и js включённый требуется
типа админская часть
window.event.srcElement.id не работат
2. А мне функция в одну строчку больше нравится.
Рас уж поднялся вопрос, а как в мозилле определить id элемента, по которому кликнулиОпять же, есть решение проще: к примеру onclick="myFunc(this)" и не париться кто как отрабатывает id. В myFunc ловишь уже готовую ссылку на объект.
window.event.srcElement.id не работат
Ну и на последок совсем глупый вопрос: как ВСЕМ элементам типа checkbox в форме поставить checked? Типа у них есть id. Просто не в курсе как работать с коллекцией elements
Пройтись по ней for'ом и задать у элементов типа checkbox значение checked = true.
for( var i = 0; i < document.myFormName.myCheckBoxName.length; i++ ) {
document.myFormName.myCheckBoxName.checked = true;
}
проблема в том что не только у чекбоксов один и тот же name......
Обьясни плиз ламеру как это сделать, а лучше напиши
Текст формы кинь?
У всех элементов имя name[]
<form onsubmit="func;" action="change.php" method="post" style="display: inline">
<table border="0" class="text" cellpadding="1" cellspacing="0" style="font-size: 11px;margin: 0px; padding:0px;">
<tr>
<td colspan="1" style="padding-left: 5px;">
<input type="text" class="inp3" title="Имя тренера" name="name[]" maxlength="30" value="y">
<input type="hidden" name="id[]" value="6">
<input type="hidden" name="what[]" value="name">
</td>
<td colspan="1" style="padding-left: 5px;">
<input type="text" class="inp3" title="Почтовый ящик" name="name[]" maxlength="30" value="e">
<input type="hidden" name="id[]" value="6">
<input type="hidden" name="what[]" value="mail">
</td>
<td class="text">
<input type="checkbox" name="name[]" id="1" onclick="change;" value="yes" checked />Показывать тренера
<input type="hidden" name="id[]" value="6">
<input type="hidden" name="what[]" value="view">
</td>
</tr>
<tr>
<td colspan="1" style="padding-left: 5px;">
<input type="text" class="inp3" title="Имя тренера" name="name[]" maxlength="30" value="tgор">
<input type="hidden" name="id[]" value="13">
<input type="hidden" name="what[]" value="name">
</td>
<td colspan="1" style="padding-left: 5px;">
<input type="text" class="inp3" title="Почтовый ящик" name="name[]" maxlength="30" value="b">
<input type="hidden" name="id[]" value="13">
<input type="hidden" name="what[]" value="mail">
</td>
<td class="text">
<input type="checkbox" name="name[]" id="2" onclick="change;" value="off" />Показывать тренера
<input type="hidden" name="id[]" value="13">
<input type="hidden" name="what[]" value="view">
</td>
</tr>
<tr>
<td colspan="1" style="padding-left: 5px;">
<input type="text" class="inp3" title="Имя тренера" name="name[]" maxlength="30" value="Новый тренер">
<input type="hidden" name="id[]" value="17">
<input type="hidden" name="what[]" value="name">
</td>
<td colspan="1" style="padding-left: 5px;">
<input type="text" class="inp3" title="Почтовый ящик" name="name[]" maxlength="30" value="блор">
<input type="hidden" name="id[]" value="17">
<input type="hidden" name="what[]" value="mail">
</td>
<td class="text">
<input type="checkbox" name="name[]" id="3" onclick="change;" value="yes" checked />Показывать тренера
<input type="hidden" name="id[]" value="17">
<input type="hidden" name="what[]" value="view">
</td>
</tr>
</table>
<input type="hidden" name="table" value="coaches">
<input type="hidden" name="query" value="edit=coaches"><br />
<input type="submit" class="submit" value="Изменить">
</form>
Зачем - не спрашивай. Долгая история.
Вот так вот я ипусь....
Йобни по серверной части и ниибись.
Ржач поднимется, когда придет клиент с отключенным ЖС...
Слушай, а не знаешь, возмож но ли определить есть у юзера JS и если нет выкинуть его нахуй?
Если ты пишешь админский интерфейс, то просто напиши, что требуется IE6 с включённым javascript'ом.
Уже давно сделал
Но механизм проверки на жаваскрипт можно сделать?
или ставить тем же JS какую-нить куку и проверять её наличие
короче сделать что-нить, что бы показывало наличие JS, в противном случае считаем, что его нет
Тема! Спасибо!
Фтыкай тег <noscript>
Оставить комментарий
Ivan826
есть n checkbox'ов в форме (n>2)Необходимо что бы из формы отправлялись значения всех (если просто пустой чекбокс сабмитить, он не передаётся). Если юзер галку поставил, то значение yes, если нет, то что-нибудь другое.
Насколько я понял для этого по сабмиту необходимо чекать эти чекбоксы. Это не вопрос, но вот изменения value я что-то не пойму как сделать. Потому что если просто прописать жёстко value='yes', то после принудительного чеканья передадутся значения yes... А принудельно менять value у checkbox'ов со значение yes на no не получается. (с no на yes на раз)
Херня получается. Помогите плиз