2014-03-01 15 views
1

我有一个表单,当用户单击提交按钮时,使用JS来完成一些操作。如果用户没有启用JS,我想禁用表单并隐藏它。我想我可以这样做:仅当启用Javascript时才显示表格

<form style="display:none;" onLoad="this.style.display='inline'"> 
    Text 
    <input type="text"> 
</form> 
<noscript>Noscript stuff here</noscript> 

但是,它不起作用。由于我没有真正使用JS,我可能只是犯了一个令人尴尬的明显错误,我会猜测并说这与“这个”部分有关。

+0

表单没有“onload”事件,这就是为什么发布的代码将无法正常工作。 – user2864740

+1

[只有在启用JS的情况下如何才能写HTML代码?](http://stackoverflow.com/questions/5181346/how-can-i-write-html-code-only-if-js-is -enabled)这实际上是重复的http://stackoverflow.com/questions/30319/is-there-a-html-opposite-to-noscript –

回答

2

尝试是被通过JavaScript时所显示的页面加载一种无形的div:

<div id="hideThisFromNonJs" style="display:none"> 
    <form> 
     Text 
     <input type="text"> 
    </form> 
</div> 

<script type="text/javascript"> 
    document.getElementById('hideThisFromNonJs').style.display='block'; 
</script> 
+1

看起来像我们引用相同的答案:http://stackoverflow.com/questions/5181346/how-can-i-write-html-code-only-if-js-is-enabled haha​​ –

+1

Hahahaha有什么可能! :) – chridam

+0

哈哈相当不错,因为它是谷歌的顶级成绩! –

4

你可以做的是在默认情况下隐藏的表单,然后使用JavaScript来取消隐藏它。这样的事情应该工作:

<form id="jsform" style="display:none;"> 
    Text 
    <input type="text"> 
</form> 

<script type="text/javascript"> 
    document.getElementById('jsform').style.display='block'; 
</script> 
+0

@ user2864740谢谢,我忘了编辑OP的标记 –

+1

干杯。我会接受答案,但由于某种原因,它告诉我我必须等待7分钟。猜猜我会回来的。 – Hiigaran

+1

@Hiigaran是的,他们让你等待一小会儿,确保有足够的好回答滚进去......你应该接受chridam的回答,虽然他和我一样,但是先回答... –

相关问题