【问题标题】:Disable button onclick but enable another button禁用按钮 onclick 但启用另一个按钮
【发布时间】:2012-06-20 03:45:31
【问题描述】:

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

【问题讨论】:

  • 如果您对jQuery没有任何问题,我可以为您提供解决方案。
  • 谢谢 Musa...您可以将您的答案添加为答案而不是评论吗?

标签: javascript html


【解决方案1】:

检查此代码,它符合您的口味并且可以正常工作:

代码片段 -

<button
    onclick="this.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>

【讨论】:

  • 在没有 disabled 属性的情况下如何使用它?
  • @Sohan 你能详细说明一下without the disabled attribute吗?
  • 我只是想禁用和启用而不使用“禁用”属性。还是谢谢你
【解决方案2】:

你应该写函数:

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()">

【讨论】:

    【解决方案3】:

    如果你不介意使用 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);
            }
        });
    });
    

    【讨论】:

      【解决方案4】:

      你可以试试这样的:

      onclick="document.getElementsByClassName('negative')[0].disabled=false"
      

      这是纯 javascript,请注意 document.getElementsByClassName('negative') 返回所有类的 array。如果只有一个,那么它将像我写的那样工作。如果没有,那么我会添加一个 id 并使用document.getElementById('buttonId').disabled=false

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-05-03
        • 2021-10-08
        • 1970-01-01
        • 2023-03-28
        • 2013-07-09
        • 2012-11-28
        • 1970-01-01
        相关资源
        最近更新 更多