由于IE(< 8?)不允许我更改禁用按钮的文本颜色,并引入了可怕的阴影(浮雕效果),我想模仿作为禁用按钮的行为。如果表单上有输入错误,将禁用此按钮。
在进行表单验证时,我可以更改JS中的类以使按钮等变暗,而不是禁用。我还想做的是让它不可点击,以便用户无法提交表单。 (怎么样)我可以这样做吗?
由于
答案 0 :(得分:19)
此无法解决您的问题 ,因为您正在使用< 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
。