powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Form text field disabled
4 сообщений из 4, страница 1 из 1
Form text field disabled
    #38836221
wvetal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть форма:
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<form action="/do" method="post" id="form1">
    <input type="checkbox" name="selectItem" value="val1" onclick="agreeForm(this.form)">
    <input type="text" name="account" value="" disabled="">
    
    <input type="checkbox" name="selectItem" value="val2" onclick="agreeForm(this.form)">
    <input type="text" name="data" value="" disabled="">

    ...

</form>


Как сделать так(с помощью javascript), чтоб при отметке checkbox (там где value="val1") поле account становилось недоступным?
Проблема в том, что name у всех checkbox одинаковое (selectItem), но зато value разное. Просто изменить name не могу - форма генерится сама.
Пробую сделать так, но пока не получается:
Код: javascript
1.
2.
3.
4.
function agreeForm(f) {
    if (f.selectItem.checked)
        f.account.disabled = 1;
}
...
Рейтинг: 0 / 0
Form text field disabled
    #38836253
Фотография user89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wvetal,

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
<!DOCTYPE html>
<html>
<body>
<form action="/do" method="post" id="form1">
	<input type="checkbox" name="selectItem" value="val1" checked onclick="agreeForm(this.form)">
	<input type="text" name="account" value="" disabled="">

	<input type="checkbox" name="selectItem" value="val2" onclick="agreeForm(this.form)">
	<input type="text" name="data" value="" disabled="">
</form>

<script>
function agreeForm(f) {
	for (i=0; i < f.length; i++) {
		if (f[i].name.toUpperCase() == 'ACCOUNT') {f[i].disabled = !f[i].disabled;}
	}
}
</script>
</body>
</html>
...
Рейтинг: 0 / 0
Form text field disabled
    #38836260
JeStone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wvetal,

Код: javascript
1.
2.
3.
4.
5.
6.
7.
function agreeForm(form) { 
var elements = document.getElementsByName('selectItem'); 
for (var i = 0; i < elements.length; i++) 
if (elements[i].value == "val1") 
    form.account.disabled = !elements[i].checked;
// или так, смотря что вы понимаете под "отметка": form.account.disabled = elements[i].checked;
}
...
Рейтинг: 0 / 0
Form text field disabled
    #38836393
wvetal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
user89, JeStone,

Спасибо.

JeStone
Код: sql
1.
2.
3.
4.
5.
function agreeForm(f) {
	for (i=0; i < f.length; i++) {
		if (f[i].name.toUpperCase() == 'ACCOUNT') {f[i].disabled = !f[i].disabled;}
	}
}

Такой вариант работает, но при нажатии на второй checkbox - тоже срабатывает, а нужно чтоб срабатывало только по первому checkbox.

user89
Код: sql
1.
2.
3.
4.
5.
6.
7.
function agreeForm(form) { 
var elements = document.getElementsByName('selectItem'); 
for (var i = 0; i < elements.length; i++) 
if (elements[i].value == "val1") 
    form.account.disabled = !elements[i].checked;
// или так, смотря что вы понимаете под "отметка": form.account.disabled = elements[i].checked;
}

Этот вариант работает.
Еще раз спасибо.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Form text field disabled
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]