禁用按钮onclick但启用另一个按钮

时间:2012-06-20 03:45:32

标签: javascript html

我的页面上有两个不同的按钮。我希望它们都在页面加载时启用,但是当用户单击一个时我想禁用另一个按钮。但是如果他们点击另一个按钮,我希望该按钮也被禁用,同时启用另一个禁用按钮。我已经能够禁用按钮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>

4 个答案:

答案 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