重置表单:样式=“display:none”的元素

时间:2014-02-23 23:11:46

标签: javascript html jsp button reset

处理表单的“重置”按钮。所以在我的.jsp上我有这一行:

<input type="reset"  class="primary" value="Reset Form"><br>

这会还原所有用户输入数据。但是,此表单上还有按钮。电子邮件,传真和电话按钮。如果用户选择电话,则会出现另一组按钮:早晚会

如果我点击电话,然后点击“重置”,按钮就会变为“未点击”,但仍有“早晨”和“晚上”按钮。关于它为什么的任何输入?

1 个答案:

答案 0 :(得分:1)

首先,要合并RobG's评论:

  

`A reset button 重置控件的值,它不会执行任何其他操作。它是在有脚本可用之前发明的,所以它只是做了一个基本的工作。如果您需要任何其他功能,则需要对其进行编程。''

总结了原因。

如果我们查看RFCHypertext Markup Language - 2.0,(请注意这是一个废弃的文档),我们会发现:

正如文档的摘要部分所说:``这个规范大致对应于1994年6月之前常用的HTML功能。''同时查看Acknowledgments文件的一部分。

Here是1993年的另一个例子。

Web浏览器中脚本语言的出现,例如ECMAScript =&gt; Javascript,JSCript等完全从1990年代中期开始出现,并且通过DOM (Document Object Model)以动态方式进一步操纵文档的能力。

但是,到今天的HTML标准仍然有一组预定义的元素can be reset in a form通过点击重置按钮。


至于手头的问题

添加一个事件监听器以进行重置,并将样式display:none添加到按钮或按钮的包装器中。

var form = document.getElementById("someform");
form.addEventListener("reset", hide_day);

addEventListener时请见here for compatibility casesThis应该有很长的路要走。

和/或直接使用表单的onreset属性。

Sample fiddle

还有可能using a library可以简化和抽象出使脚本在尽可能多的系统和Web浏览器上运行所带来的挑战。例如,将事件监听器添加到文档对象。

虽然从头开始摆弄这个可能是一个挑战,但它也很有教育意义:)