除非启用JavaScript,否则我需要禁用“提交”按钮。
我试过了:
1
<input onLoad="this.disabled=false" id="post-comment" type="submit"
value="Post Your Comment" disabled="disabled"/>
2
<input onLoad="this.removeAttribute('disabled');" id="post-comment" type="submit"
value="Post Your Comment" disabled="disabled"/>
3
<input onLoad="document.getElementById('post-comment').removeAttribute('disabled');"
id="post-comment" type="submit" value="Post Your Comment" disabled="disabled"/>
不起作用。我是JavaScript新手,但无法在网上找到答案。
答案 0 :(得分:4)
问题是输入元素没有“onload”事件。 The spec将可用事件显示为:
onfocus %Script; #IMPLIED -- the element got the focus --
onblur %Script; #IMPLIED -- the element lost the focus --
onselect %Script; #IMPLIED -- some text was selected --
onchange %Script; #IMPLIED -- the element value was changed --
onclick %Script; #IMPLIED -- a pointer button was clicked --
ondblclick %Script; #IMPLIED -- a pointer button was double clicked--
onmousedown %Script; #IMPLIED -- a pointer button was pressed down --
onmouseup %Script; #IMPLIED -- a pointer button was released --
onmouseover %Script; #IMPLIED -- a pointer was moved onto --
onmousemove %Script; #IMPLIED -- a pointer was moved within --
onmouseout %Script; #IMPLIED -- a pointer was moved away --
onkeypress %Script; #IMPLIED -- a key was pressed and released --
onkeydown %Script; #IMPLIED -- a key was pressed down --
onkeyup %Script; #IMPLIED -- a key was released --
由于它看起来好像没有任何帮助,你可能最好将事件添加到body元素的onload中(或者通过更强大的方法,比如jQuery的文档就绪函数)。以下是快速入侵的方法:
<body onload="document.getElementById('post-comment').disabled=false">
答案 1 :(得分:2)
你想要这个:
<input id="post-comment" type="submit" value="Post Your Comment" disabled="disabled"/>
<script type="text/javascript">
document.getElementById("post-comment").disabled = false;
</script>
致其他人:你为什么要等onload
?
答案 2 :(得分:1)
怎么样:
<script>
function enableInput(){
document.getElementById('post-content').disabled=false;
}
</script>
<body onload="enableInput();">
...
<input id="post-comment" type="submit"
value="Post Your Comment" disabled="true"/>
这将加载默认情况下禁用的输入按钮并执行javascript以在网页加载时启用它(当然只有在启用javascript时才会启用。
答案 3 :(得分:1)
根据您的示例代码
<input id="post-comment" type="submit" value="Post Your Comment" disabled="disabled" />
然后在javascript上
<script type="text/javascript">
window.onload = function() {
document.getElementById('post-comment').disabled=false;
}
//OR using JQuery
$(document).ready(function() {
document.getElementById('post-comment').disabled=false;
});
</script>
//That's it really.
希望这有帮助。
答案 4 :(得分:1)
“除非javascript打开”,你是否应该禁用表单的提交,除非该浏览器支持JS?
如果是,您应该默认禁用提交按钮。编写JS代码以启用注释块中的提交按钮(&lt;! - - &gt;)。也可以使用&lt; noscript&gt;标记,通知客户端在客户端浏览器上启用JS之前,功能不可用。
答案 5 :(得分:0)
您可以强制提交按钮调用实际执行提交的javascript函数。
答案 6 :(得分:0)
submit元素的onload参数是一个Javascript事件处理程序。因此,如果用户未启用Javascript,则不会触发此事件。
我建议如下:
没有页面中的提交按钮,而是拥有一个灰色按钮的图像。然后,做这样的事情:
<img onLoad="enableSubmit()" .../>
onLoad事件处理程序仅在启用Javascript时触发。在你的enableSubmit()函数(在别处定义)中,你可以用输入类型=“submit”替换img标签。