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

Javascript 如果选中复选框,如何禁用/启用按钮,javascript,html,Javascript,Html,请我需要一个脚本,它可以与下面的HTML代码一起工作,以便在选中或取消选中复选框时禁用/启用按钮 请朋友们,我不是说按钮在选中时被禁用,而是相反。您可以使用复选框的onchange事件根据选中的值启用/禁用按钮 <input type="submit" name="sendNewSms" class="inputButton" id="sendNewSms" value=" Send " /> <input type="checkbox" onchange="docume

请我需要一个脚本,它可以与下面的HTML代码一起工作,以便在选中或取消选中复选框时禁用/启用按钮


请朋友们,我不是说按钮在选中时被禁用,而是相反。

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

<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 " />
<input type="checkbox" id="checkme"/>
  <input type="submit" name="sendNewSms" class="inputButton" disabled="disabled" id="sendNewSms" value=" Send " />

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

演示:

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

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

var submit=document.getElementById('sendNewSms'),
checkbox=document.getElementById('disableBtn'),
disableSubmit=功能(e){
submit.disabled=this.checked
};
复选框.addEventListener('change',disableSubmit);

下面是一个例子:

我建议使用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);
  }
});

brbcoding已经能够帮助我进行所需的适当编码,以下就是它

HTML

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

谢谢,但我的意思不是相反,上面的代码在选中时禁用了按钮,但我希望禁用按钮,然后在选中复选框时启用checked@Chidi更新了代码。您只需添加
-
not
operator这比提供的其他解决方案要好得多看起来像是内联javascript是最干净的解决方案之一。很不错的!我会在按钮中添加“disabled”属性,只需根据需要将
sendbtn.disabled=false
切换到
sendbtn.disabled=true
,反之亦然。如果您想在第一次访问时将其禁用,您只需在按钮中添加“禁用”即可。谢谢朋友,它现在可以正常工作,谢谢您的帮助。请记住,您还需要检查此服务器端。只需从devtools中删除
已禁用
,然后再次启用按钮。我们可以使用标记内联执行脚本吗?它是禁用的,而不是启用的