js编程技巧
来源:互联网 发布:淘宝管控记录怎么销除 编辑:程序博客网 时间:2024/05/21 18:28
1.检查表单数据是否改变
有的时候,需要检查用户是否修改了一个表单中的内容,则可以使用下面的技巧,其中如果修改了表单的内容则返回true,没修改表单的内容则返回false。代码如下:
function formIsDirty(form) { for (var i = 0; i < form.elements.length; i++) { var element = form.elements[i]; var type = element.type; if (type == "checkbox" || type == "radio") { if (element.checked != element.defaultChecked) { return true; } } else if (type == "hidden" || type == "password" || type == "text" || type == "textarea") { if (element.value != element.defaultValue) { return true; } } else if (type == "select-one" || type == "select-multiple") { for (var j = 0; j < element.options.length; j++) { if (element.options[j].selected != element.options[j].defaultSelected) { return true; } } } } return false; } window.onbeforeunload = function(e) { e = e || window.event; if (formIsDirty(document.forms["someForm"])) { // IE 和 Firefox if (e) { e.returnValue = "You have unsaved changes."; } // Safari浏览器 return "You have unsaved changes."; } };
2.数组去重
利用对象键不可重复对数组去重。代码如下:
function removeDuplicates(arr) { var temp = {}; for (var i = 0; i < arr.length; i++) temp[arr[i]] = true; var r = []; for (var k in temp) r.push(k); return r; } //用法 var fruits = ['apple', 'orange', 'peach', 'apple', 'strawberry', 'orange']; var uniquefruits = removeDuplicates(fruits); //输出的 uniquefruits ['apple', 'orange', 'peach', 'strawberry'];
- js编程技巧
- JS编程技巧
- Js编程小技巧(不断积累中)
- [技巧] Javascript模块化编程(三):require.js的用法
- php编程技巧--js常用的函数无缝使用
- JS技巧
- js技巧
- js 技巧
- JS技巧
- js技巧
- js技巧
- JS技巧
- js技巧
- js 技巧
- js技巧
- Js技巧
- js技巧
- JS技巧
- k个数相加和为m的种数
- 跟pp模块相关的开发杂记
- ALV相关汇总
- 编写C语言程序时需要注意的一些小技巧1
- 【cocos2dx开发技巧8】自定义控件-使自定义控件具有RGBA特性
- js编程技巧
- 在mac os 中安装 autoconf and automake
- spring配置mybatis问题
- svn 打基线
- hdu 4491 Windmill Animation
- LINUX让环境变量立即生效的方法
- CCEditBox 编辑框
- GCC使用
- Android向服务器传json数据