hidden表单值无法重置的缺陷
来源:互联网 发布:宝马编程是什么意思 编辑:程序博客网 时间:2024/06/12 21:48
在项目开发过程中发现form表单控件中的hidden表单组件无法被form自带的reset函数重置未默认值所以针对hidden组件进行以下测试代码如下 :
<!DOCTYPE html><html><head> <meta charset="utf-8"> <title>Test</title></head><body> <form id="form1" action=""> <input id="hidden1" type="hidden" value="DefaultValue"> <input id="text1" type="text"> <button type="button" onclick="changeHiddenValue()">改变hidden表单的值</button> <button type="button" onclick="getHiddenValue()">获取hidden表单的值</button> <button type="button" onclick="getHiddenValueAttribute()">获取hidden表单中默认的value属性的值</button> <button type="button" onclick="resetHidden()">重置hidden表单</button> <button type="reset">重置</button> </form> <script> (function(){ getHiddenValue(); })(); function changeHiddenValue(){ var text = document.getElementById('text1'); var hidden = document.getElementById('hidden1'); hidden.value = text.value } function getHiddenValue(){ var text = document.getElementById('text1'); var hidden = document.getElementById('hidden1'); text.value = hidden.value; } function resetForm(){ var form = document.getElementById("form1"); form.reset(); getHiddenValue(); } function getHiddenValueAttribute(){ var text = document.getElementById('text1'); var hidden = document.getElementById('hidden1'); alert(hidden.getAttribute("value")); text.value = hidden.getAttribute("value"); } </script></body></html>
测试结果是,form表单自带的reset方法以及type的reset的button均存在无法重置hidden表单的值的bug;故进行form重置时要对hidden表单进行特殊处理,使其恢复默认值
如何解决这个缺陷
其实可以依赖各种不同的form插件等插件内部的form表单的reset方法其实已经针对这个缺陷进行了一定程度的修复
jquery.form.js是一个全面支持表单的jQuery插件
其中包含了以下方法
- clearForm(includeHidden)
- clearFields(includeHidden)
- clearInputs(includeHidden)
其中内部勉强可以将hidden表单清空,但是依旧无法对hidden表单进行重置,使其恢复默认值
0 0
- hidden表单值无法重置的缺陷
- FireFox下表单无法刷新重置的解决
- 重置表单的方法
- 清QC (Quaility Center) 缺陷 重置QC缺陷的BUGID
- extjs form表单的重置
- ExtJs form表单的重置
- extjs form表单的重置
- 火狐下,表单无法刷新重置问题的分析与解决
- 火狐下,表单无法刷新重置问题的分析与解决(转)
- How to Turn Off Form Autocompletion FireFox下表单无法刷新重置的解决
- 火狐下,表单无法刷新重置问题的分析与解决 .
- 表单重置
- 重置表单
- 表单重置
- 表单重置
- 表单重置
- jQuery Chosen 选择框下拉值无法重置的问题
- jquery 重置表单里的元素
- Java泛型-类型擦除
- js数组去重的4种方法
- 浅谈单例模式
- C++实现单向链表(2)
- 第一篇博客文章,记录自己的开始。
- hidden表单值无法重置的缺陷
- 如何跨域读取PDF文件
- mongodb总结
- 依赖注入
- 多元线性回归及梯度下降
- jQuery的LG的自定义插件。
- ViewDragHelper实战 自己打造Drawerlayout
- 自己实现中值滤波
- thinkphp 进入控制器两次问题!