我的页面上有两个不同的按钮。我希望它们都在页面加载时启用,但是当用户单击一个时我想禁用另一个按钮。但是如果他们点击另一个按钮,我希望该按钮也被禁用,同时启用另一个禁用按钮。我已经能够禁用按钮onclick,但我无法让其他按钮重新启用。这是我在页面上的两个按钮。它们不是一种形式,只是在页面上。
<button onclick="down7913.disabled=false" type="submit" class="positive" name="up7913"><img src="check.png" alt=""/></button>
<button onclick="this.disabled=true" type="submit" class="negative" name="down7913"><img src="cross.png" alt=""/></button>
答案 0 :(得分:22)
检查此代码,这是你的风格和工作:
<button onclick="document.getElementById('up7913').disabled=true;document.getElementById('down7913').disabled=false;" type="submit" class="positive" name="up7913" id="up7913">First</button>
<button onclick="this.disabled=true;document.getElementById('up7913').disabled=false;" type="submit" class="negative" name="down7913" id="down7913">Second</button>
答案 1 :(得分:3)
你应该写函数:
function disablefirstbutton() {
document.getElementById("firstbutton").disabled = true;
document.getElementById("secondbutton").disabled = false;
}
function disablesecondbutton() {
document.getElementById("secondbutton").disabled = true;
document.getElementById("firstbutton").disabled = false;
}
<button id="firstbutton" onclick="disablefirstbutton()">
<button id="secondbutton" onclick="disablesecondbutton()">
答案 2 :(得分:1)
如果您不介意使用jQuery,请点击这里!
$(function() {
$('button').click(function() {
var classname = $(this).attr('class');
if(classname == 'positive')
{
$('button.positive').attr('disabled', 'disabled');
$('button.negative').attr('disabled', false);
}
else
{
$('button.negative').attr('disabled', 'disabled');
$('button.positive').attr('disabled', false);
}
});
});
答案 3 :(得分:0)
您可以尝试以下方式:
onclick="document.getElementsByClassName('negative')[0].disabled=false"
这是纯粹的javascript,请注意document.getElementsByClassName('negative')
会返回所有课程的array
。如果只有一个,那么它会像我写的一样工作。如果没有,那么我会添加一个ID并使用document.getElementById('buttonId').disabled=false
。