#javascript #button #onclick #disable
#javascript #кнопка #onclick #отключить
Вопрос:
У меня есть кнопки с той же функцией onclick. Я хочу, чтобы кнопки были отключены после одного щелчка. Функция onclick должна выполнять более одной функции, так как я могу это сделать.
<input type="button" class="buttons" id="button2" value="2"
onclick="run()" />
Ниже приведен код для одной из кнопок, внутри функции run запущена другая функция.
function disablebutton(button){
this.disabled = true;
}
Ответ №1:
Вам просто нужно вызвать функцию на разных кнопках.
function disablebutton(buttonObject){
buttonObject.disabled = true;
}
var button1 = document.getElementById('b1');
var button2 = document.getElementById('b2');
button1.onclick = function(){
disablebutton(button1);
}
button2.onclick = function(){
disablebutton(button2);
}
или
<input type="button" class="buttons" id="button1" value="1"
onclick="run(this)" />
<input type="button" class="buttons" id="button2" value="2"
onclick="run(this)" />
function run(button){
button.disabled = true;
}
Комментарии:
1. Если у вас есть кнопка on-click во встроенном html, то все, что вам нужно, это только функция JS, ваш html должен быть примерно таким <button onclick=»disablebutton(this)»></button>
2. как я могу вызывать функции с помощью onclick? я хочу, чтобы кнопка отключалась только после нажатия кнопки
3. Отредактированный пост — также удалите onclick из html, он вам не нужен в моем коде выше.
Ответ №2:
Вы должны выбрать все кнопки, а затем изменить атрибут disabled. Вы можете сделать это, добавив класс к кнопке, выбрав их в классе, а затем выполнив цикл, отключив их все следующим образом:
var elems = document.getElementsByClassName("buttons");
for(var i = 0; i < elems.length; i ) {
elems[i].disabled = true;
}
Комментарии:
1. это отключает все кнопки после нажатия одной
Ответ №3:
Вы можете вызвать disablebutton()
внутреннюю run()
функцию или добавить ее после run()
функции в onClick()
:
<input type="button" class="buttons" id="button2" value="2"
onclick="run(); disablebutton(this)" />
// Or
<input type="button" class="buttons" id="button2" value="2"
onclick="run(this)" />
function run(thisButton) {
console.log('run');
disableButton(thisButton)
}
1-е решение:
function run() {
console.log('run');
}
function disablebutton(button){
console.log(button);
button.disabled = true;
}
<input type="button" class="buttons" id="button2" value="2"
onclick="run(); disablebutton(this)" />
2-е решение:
function run(thisButton) {
console.log('run');
disablebutton(thisButton)
}
function disablebutton(button){
console.log(button);
button.disabled = true;
}
<input type="button" class="buttons" id="button2" value="2"
onclick="run(this)" />
Комментарии:
1. Функция run здесь бессмысленна, она усложняет простой процесс. Если вы используете встроенный html, просто вызовите disablebutton во встроенном html.