如果选中,如何禁用/启用带复选框的按钮

时间:2013-08-07 18:22:01

标签: javascript html

我需要一个可以使用HTML代码的脚本,以便在选中或取消选中复选框时禁用/启用按钮,

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

请pals我并不是指在选中时禁用按钮,而是反过来。

6 个答案:

答案 0 :(得分:41)

您可以使用复选框的onchange事件根据checked值启用/停用按钮

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

<input type="checkbox"  onchange="document.getElementById('sendNewSms').disabled = !this.checked;" />

答案 1 :(得分:18)

<强> 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

答案 2 :(得分:11)

你必须使用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
        }
    });

DEMO: http://jsfiddle.net/T6hvz/

答案 3 :(得分:6)

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;
}

}

答案 4 :(得分:3)

这是一种禁用和启用提交按钮的简洁方法:

<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/

答案 5 :(得分:1)

我建议使用jQuery,因为它会为你完成所有繁重的工作。代码相当简单。

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

诀窍是覆盖'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);
  }
});