没有被禁用,html按钮无法点击

时间:2011-08-01 14:28:17

标签: javascript html css button

由于IE(< 8?)不允许我更改禁用按钮的文本颜色,并引入了可怕的阴影(浮雕效果),我想模仿作为禁用按钮的行为。如果表单上有输入错误,将禁用此按钮。

在进行表单验证时,我可以更改JS中的类以使按钮等变暗,而不是禁用。我还想做的是让它不可点击,以便用户无法提交表单。 (怎么样)我可以这样做吗?

由于

4 个答案:

答案 0 :(得分:19)

IE10 +&现代浏览器回答

无法解决您的问题 ,因为您正在使用< IE10 ,但对于那些使用现代浏览器并回答原始问题的人:

  

html按钮未被禁用而无法点击

......这很简单&优雅:

.no-click {
    pointer-events: none;
}

只需将此类添加到您的用户界面:

<button class="no-click">

答案 1 :(得分:2)

<form onSubmit="return validate(this)"

只需返回false即可停止提交

您也可以在window.onload中添加该功能:

window.onload=function() {
  document.getElementsByTagName("form")[0]).onsubmit=function() {
    return validate(this);
  }
}
function validate(theForm) {
  // if not valid
  return false;

  // else
  return true;
}

如果您想遵循最新的最佳做法,您将使用addEventListener或attachEvent或jQuery bind

来自@BrendanEich的评论:

  

提交的@mplungjan onclick就是一个按钮;表格onsubmit显然更好。

答案 2 :(得分:0)

解决这个问题没有任何限制。首先重新启用你的按钮,然后使用你想要的Jquery,addClass(你也可以删除旧类)然后重新禁用按钮:

$("#yourbuttonid").click(function(){
    $(this).removeAttr("disabled").removeClass("classname").addClass("classname2").attr("disabled", "disabled");
});

答案 3 :(得分:-3)

您需要从onclick事件中返回false:

<input type="submit" value="Submit" onclick="return test();" />

<input type="submit" value="Submit" onclick="return false;" />

注意:您必须在onclick中使用return