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

and*_*rew 9 html javascript css button

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

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

谢谢

jus*_*opi 22

IE10 +和现代浏览器答案

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

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

......这简单而优雅地运作:

.no-click {
    pointer-events: none;
}
Run Code Online (Sandbox Code Playgroud)

只需将此类添加到您的UI:

<button class="no-click">
Run Code Online (Sandbox Code Playgroud)


mpl*_*jan 2

<form onSubmit="return validate(this)"
Run Code Online (Sandbox Code Playgroud)

只需返回 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;
}
Run Code Online (Sandbox Code Playgroud)

如果您想遵循最新的最佳实践,您将使用addEventListener或attachEvent或jQuery绑定

来自@BrendanEich的评论:

@mplungjan onclick 的提交只是不再是一个按钮;form onsubmit 显然更好。