Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

button со значением on/off

Aleksey Yevgenyevich Мастер (1453), закрыт 4 года назад
В общем иеется батон, который должен иметь 2 значения (on/off) при нажатии на кнопку разрешается редактировать 3 input, в противном случае они запрещены для редактирования
Как реализовать не понимаю, с JS еще не успел подружиться?
Вот на что хватило ума, но это бред:
код батона

код батона не отображается из-за тегов, в общем в батоне указано
id="btn_edit" value="off" onClick="on_off(this)"

JavaScript
function on_off(elem) {

if (elem.value == "On") {
elem.value = "Off";

$("#domen").prop("disabled", true); // - блокировка элемента с id
$("#login").prop("disabled", true); // - блокировка элемента с id
$("#password").prop("disabled", true); // - блокировка элемента с id

} else {
elem.value = "On";
$("#domen").prop("disabled", false); // - снятие блокировки с элемента
$("#login").prop("disabled", false); // - снятие блокировки с элемента
$("#password").prop("disabled", false); // - снятие блокировки с элемента
}
}

Буду рад любым решения данной задачи
Дополнен 4 года назад
Буду рад любым решения данной задачи
Дополнен 4 года назад
прошу прощения, код батона не отобразился из-за тегов, в общем в батоне указано
id="btn_edit" value="off" onClick="on_off(this)"
Лучший ответ
☢▴▲▴☢ Мастер (2176) 4 года назад
value у кнопки не надо трогать. Он вообще не нужен для кнопок в типовых случаях.
Состояние тех трех input, которые можно/нельзя редактировать - это и есть on/off.

if ($("#domen").prop("disabled") && $("#login).prop("disabled") && $("#password").prop("disabled")) {
//Действие если поля заблокированы
}
else {
//Действие если разблокированы
}
Aleksey YevgenyevichМастер (1453) 4 года назад
Спасибо вам огромное)) ответ был совсем рядом я тут уже какие-то костыли начал собирать, а тут велосипед уже есть, как я сразу сам не додумался... Ещё раз спасибо :)
☢▴▲▴☢ Мастер (2176) Да не за что. Только учтите, что этот код будет работать если все 3 input checkbox всегда будут включаться и отключаться все вместе, а не по отдельности. Иначе надо будет переписывать код для каждого поля отдельно ( if ($("#domen").prop("disabled") { ...} и т. п.).
Остальные ответы
Похожие вопросы