Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Чекбокс с неактивным инпутом (https://javascript.ru/forum/misc/62422-chekboks-s-neaktivnym-inputom.html)

darthmitriy 09.04.2016 14:26

Чекбокс с неактивным инпутом
 
Здравствуйте!
Вопрос, скорее всего, глупый, но своими мозгами дойти до решения не могу. С языком знаком очень поверхностно, пользовался, в основном, готовыми решениями, поэтому извините:-? .
Суть проблемы: нужна связка чекбокс+инпут, такая чтобы при активном чекбоксе был активен инпут, и наоборот. В темах выше нашел обратный пример, активный инпут при неактивном чекбоксе, а что поменять к моей ситуации - ума не приложу.
Использующийся вариант:

<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">
</style>
<script>
function Go(Obj) {
document.getElementsByName(Obj.name)[1].disabled=Obj.checked
}
</script>
</head>
<body>
<input name='test' type="checkbox" onclick="Go(this)" />
<input name='test' type="button" value="Go" />
</body>
</html>

Заранее благодарен...

laimas 09.04.2016 14:33

<input name='test' type="checkbox" onclick="Go(this)" />
<input name='test' type="button" value="Go" />

Это уже не правильно, ибо сервер при отправлении формы получит последний ключ, то есть значение кнопки и на воля выбора. Если даже это и не предназначается для отправки серверу, то при одинаковых именах какое может быть Obj.name?

Ну и по сути - нужна связка чекбокс+инпут, такая чтобы при активном чекбоксе был активен инпут, и наоборот. - и где же второе?

darthmitriy 09.04.2016 14:40

Это уже готовое, найденное на этом форуме решение ситуации - активный чекбокс -> неактивный инпут. Не уверен, насколько всё это по фен-шую, но это неплохо работает.
У меня же ситуация противоположная, мне нужны активный чекбокс+активный инпут. И наоборот.

laimas 09.04.2016 14:53

<form>
<input name="as1" />
<input type="checkbox" name="as2" onclick="this.form.as1.disabled=!this.checked" checked="" />
</form>

darthmitriy 09.04.2016 15:14

Огромное спасибо!


Часовой пояс GMT +3, время: 15:08.