如何禁用/启用带有复选框的按钮(如果选中)

How to disable/enable a button with a checkbox if checked

本文关键字:按钮 如果 复选框 何禁用 启用      更新时间:2023-09-26

当复选框被选中或取消选中时,我需要一个可以与下面的HTML代码一起使用的脚本来禁用/启用按钮,

<input type="submit" name="sendNewSms" class="inputButton" id="sendNewSms" value=" Send " />

朋友们,我并不是说在检查时按钮会被禁用,而是相反。

您可以使用复选框的onchange事件来基于checked值启用/禁用按钮

<input type="submit" name="sendNewSms" class="inputButton" id="sendNewSms" value=" Send " />
<input type="checkbox"  onchange="document.getElementById('sendNewSms').disabled = !this.checked;" />

HTML

<input type="checkbox" id="checkme"/><input type="submit" name="sendNewSms" class="inputButton" id="sendNewSms" value=" Send " />

JS

var checker = document.getElementById('checkme');
var sendbtn = document.getElementById('sendNewSms');
checker.onchange = function() {
  sendbtn.disabled = !!this.checked;
};

DEMO

您必须使用javascript或JQuery框架才能做到这一点。她是使用Jquery 的一个例子

   $('#toggle').click(function () {
        //check if checkbox is checked
        if ($(this).is(':checked')) {
            $('#sendNewSms').removeAttr('disabled'); //enable input
        } else {
            $('#sendNewSms').attr('disabled', true); //disable input
        }
    });

演示:http://jsfiddle.net/T6hvz/

brbcoding能够帮助我进行所需的适当编码,这就是

HTML

<input type="checkbox" id="checkme"/>
  <input type="submit" name="sendNewSms" class="inputButton" disabled="disabled" id="sendNewSms" value=" Send " />

Javascript

 var checker = document.getElementById('checkme');
 var sendbtn = document.getElementById('sendNewSms');
 // when unchecked or checked, run the function
 checker.onchange = function(){
if(this.checked){
    sendbtn.disabled = false;
} else {
    sendbtn.disabled = true;
}
}

这里有一个禁用和启用提交按钮的干净方法:

<input type="submit" name="sendNewSms" class="inputButton" id="sendNewSms" value=" Send " />
<input type="checkbox" id="disableBtn" />
var submit = document.getElementById('sendNewSms'),
    checkbox = document.getElementById('disableBtn'),
    disableSubmit = function(e) {
        submit.disabled = this.checked
    };
checkbox.addEventListener('change', disableSubmit);

下面是它的一把小提琴:http://jsfiddle.net/sYNj7/

我建议使用jQuery,因为它将为您完成所有繁重的工作。代码相当琐碎。

$('input:checkbox').click(function () {
  if ($(this).is(':checked')) {
    $('#sendNewSms').click(function () {
      return false;
    });
  } else {
    $('#sendNewSms').unbind('click');
  }
});

诀窍是覆盖"点击"事件并有效地禁用它。你也可以用一些CSS魔法来让它看起来"被禁用"。这是JavaScript中的代码,以备不时之需。它并不完美,但它能让人明白这一点。

var clickEvent = function () {
  return false;
};
document.getElementById('#checkbox').onclick(function () {
  if (document.getElementById('#checkbox').checked) {
    document
      .getElementById('#sendNewSms')
      .onclick(clickEvent);
  } else {
    document
      .getElementById('#sendNewSms')
      .removeEventListener('click', clickEvent, false);
  }
});