2012-06-20 139 views
10

我在我的页面上有两个不同的按钮。我希望它们都在页面加载时启用,但是当用户单击一个时,我想禁用另一个按钮。但是如果他们点击另一个按钮,我希望禁用该按钮,同时启用其他禁用按钮。我已经能够禁用按钮onclick,但我无法让其他按钮重新启用。这里是我在页面上的两个按钮。它们不在表格中,只在页面上。禁用按钮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

如果您对jQuery没有任何问题,我可以为您提供解决方案。 – asprin

+2

http://jsfiddle.net/mowglisanu/2jBtV/ – Musa

+0

谢谢穆萨...你可以添加你的回答而不是评论吗? – austinhollis

回答

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

你可以尝试这样的:

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

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

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