我需要一个可以使用HTML代码的脚本,以便在选中或取消选中复选框时禁用/启用按钮,
<input type="submit" name="sendNewSms" class="inputButton" id="sendNewSms" value=" Send " />
答案 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
}
});
答案 3 :(得分:6)
<强> 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);
}
});