- 浏览: 1026720 次
- 性别:
- 来自: 天津
文章分类
- 全部博客 (445)
- Java (22)
- J2EE (18)
- Flex (102)
- Flex-blazeds (1)
- Flex-FABridge (2)
- Flex4 (3)
- CheckStyle (2)
- PowerDesigner (0)
- POI (2)
- Java2Word (2)
- 杂项 (15)
- 日记 (3)
- 数据库-oracle (41)
- 数据库-SQLServer (7)
- 中间件 (1)
- 英语 (8)
- C# (43)
- ASP.net (72)
- ASP.net MVC (28)
- 微软-Entity Framework (19)
- JavaScript (22)
- JQuery (31)
- EasyUI (3)
- VS2010 (4)
- CVS (1)
- Tomcat (3)
- Linux (1)
- 遗留问题 (1)
- iphone (1)
- MAC (0)
- 系统 (2)
- Web Service (4)
- Cache Manager (1)
- PMP (1)
- WCF (10)
- BootstrapJs (1)
- Web API (6)
- Go语言 (0)
- 网络协议 (2)
- Redis (10)
- RabbitMQ (10)
- Git (3)
- Kafka (5)
- ELK (5)
- Nginx (3)
- 测试 (2)
最新评论
-
ygm0720:
Table行拖拽自己实现 -
程乐平:
Flex4开发视频教程(27集)下载http://bbs.it ...
Flex4教程 -
liuweihug:
Jquery+asp.net 后台数据传到前台js进行解析的办 ...
AJAX $.toJSON的用法或把数组转换成json类型 -
weilikk:
谢谢谢谢!!
javascript IE下不能用 trim函数解决方法 -
gxz1989611:
vigiles 写道请问楼主:[Fault] exceptio ...
blazeds推送技术至Flex
最近修改一个 js 函数,却发现自己需要学习的还很多
函数的主要目的是想知道 form 表单中的值有没有被改变,原来的函数采用的是 if…else/if 结构,在这里,我还是把代码贴出来吧:
// 函数 ;
function IsFormChanged(name) {
var isChanged = false;
// var form = document.getElementById(name);
var form = document.forms[name];
for (var i = 0; i < form.elements.length; i++) {
var element = form.elements[i];
var type = element.type;
if (type == "text" || type == "hidden" || type == "textarea" || type == "button") {
if (element.value != element.defaultValue) {
isChanged = true;
alert("1");
break;
}
} else if (type == "radio" || type == "checkbox") {
if (element.checked != element.defaultChecked) {
isChanged = true;
alert("2");
break;
}
} 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) {
isChanged = true;
alert("3");
break;
}
}
} else {
// etc...
}
}
alert( isChanged?" 你改变了表单的默认值 ":" 表单的值没有改变 ");
return isChanged;
}
这个函数思路很清晰了,但是,我准备采用另外一个方式来重写它,我采用的是 switch ,于是,一开始,我把 if…else/if 都改成 switch ,可是,发现不能验证,后来,我发现了: for 循环中使用 switch ,然后用 break 的话,退出来的是 switch 结构,循环还要继续的,而我需要的是直接退回 for 循环。上网找了一些解决办法,最后发现把 switch 部分的分离出来单独写成一个函数比较好,但是,考虑到这个函数最终只会在一个函数中使用,就是我们的判断 form 表单默认值的函数,而且,由于项目开发的需要,我把一些公用的函数都封装起来,所以,最后我把函数改写成了如下的形式:
var Form={
IsFormChanged:function(id){
/*IsFormChangedCase 这个函数我本来是放在外面的,和 IsFormChanged 的级别是一样的,但是现在只有 IsFormChanged 这个函数使用这个,其原因是因为 switch 和 for 中都是用 break 的缘故,所以,我最终把这个函数作为 IsFormChanged 函数的一个变量来使用。
*/
var IsFormChangedCase=function(element){
var isChanged = false;
switch(element.type){
case "text":
case "hidden":
case "textarea":
case "button":
if(element.value != element.defaultValue)
isChanged= true;
break;
case "radio":
case "checkbox":
if(element.checked != element.defaultChecked)
isChanged= true;
break;
case "select-one":
case "select-multiple":
for (var j = 0; j < element.options.length; j++){
if(element.options[j].selected != element.options[j].defaultSelected){
isChanged= true;
break;
}
}
break;
}
return isChanged;
};
var str=false;
var form = document.getElementById(id);
for (var i = 0; i < form.elements.length; i++){
var element = form.elements[i];
if(IsFormChangedCase(element)){
str=true;
break;
}
}
return str;
}
}
// 这个只是测试函数
function test()
{
var ret=Form.IsFormChanged("frm2");
alert( ret?" 你改变了表单的默认值 ":" 表单的值没有改变 ");
return ret;
}
http://www.codestore.net/store.nsf/unid/DOMM-4UTKE6
发表评论
-
js插件库系列导航
2016-06-02 13:41 599此系列为了建立一个有用的js插件和解决方案库,希望对您有 ... -
js Tree - 树形菜单插件
2016-06-02 13:41 1356js Tree - 树形菜单 ... -
easyui input 取值 赋值
2016-05-13 15:49 962$("#userdlg_useraccount& ... -
Jquery easyUI dialog的close和destroy
2016-05-13 15:48 4447之前在用easyUI的时候遇到一个问题,一直困扰着我。 ... -
谈谈Firefox23如何禁用JavaScript
2013-10-18 13:07 1426Firefox23取消了一个很人性化的功能,就是在GUI界面 ... -
Javascript弹出窗口总结
2013-01-15 10:40 3356//关闭,父窗口弹出对话框,子窗口直接关闭this.Resp ... -
jquery-validation 使用
2012-11-06 10:19 5761一、用前必备 官方 ... -
jQuery blockUI插件在ajax提交的时候的用法(block不起作用)
2012-10-23 10:36 5745在开发过程中出现一个问题,就是在IE7,8,9 ,Chrome ... -
AJAX $.toJSON的用法或把数组转换成json类型
2012-09-27 15:35 202751. html页面全部代码 <html> ... -
JQuery dialog弹出对话框解决Asp.net服务器控件无法执行后台代码的方法
2012-09-07 16:55 5536搜索相关问题发现,其中主要问题是出在:JQuery会把Dial ... -
jquery dialog 详解
2012-09-07 16:49 12353还是先看例子吧。另外如果要拖动、改变dialog的大小的话 ... -
jquery操作dropdownlist和radiobuttonlist
2012-08-13 19:08 3074jquery获取ASP.NET服务器端控件dropdownli ... -
JS中showModalDialog 详细使用
2012-04-11 16:51 1202基本介绍: ... -
Window_Open详解
2012-04-11 16:51 985一、window.open()支持环境: Jav ... -
DIV中的image控件,放大,缩小,还原,拖拽
2012-02-10 11:21 5312<!DOCTYPE html PUBLIC " ... -
控制 iframe 内图片放大缩小
2012-02-09 09:09 4180index.asp 页面 <html> & ... -
Jquery框架
2011-11-15 15:52 14471. DWZ 官方网址:http://code. ... -
MVC 分页 JQuery Pager
2011-11-07 13:00 3214导入的包 <script type=" ... -
Jquery与.net MVC结合,通过Ajax
2011-10-14 09:55 2650在工作中做了这么一个东西。 Html端: @using T ... -
jQuery插件ASP.NET应用之AjaxUpload
2011-10-14 09:49 2370本次使用AJAXUPLOAD做为上传客户端无刷上传插件,其最新 ...
相关推荐
1.程序功能说明: MATLAB实现多种群遗传算法(完整代码) 逼近C=[9,8,7,6,5,4,3,2,1]的9维向量. 2.代码说明:注释清晰,参数和变量说明清晰,方便更改、方便初学者使用,模块化编程,方便替换目标函数。运行环境Windows7及以上操作系统,MATLAB2014a及以上版本。 3.适用专业:计算机、电子信息工程、数学、物理、机械工程、土木工程等专业的大学生、研究生毕业设计,各类专业的课程设计、海外留学生作业等。 4作者介绍:资深算法工程师, 从事Matlab、Python算法仿真工作15年,专业研究遗传算法、粒子群算法、蚁群算法、鲸鱼算法、狼群算法等. 有问题联系QQ: 1579325979
免费JAVA毕业设计 2024成品源码+论文+数据库+启动教程 启动教程:https://www.bilibili.com/video/BV1SzbFe7EGZ 项目讲解视频:https://www.bilibili.com/video/BV1Tb421n72S 二次开发教程:https://www.bilibili.com/video/BV18i421i7Dx
免费JAVA毕业设计 2024成品源码+论文+录屏+启动教程 启动教程:https://www.bilibili.com/video/BV1SzbFe7EGZ 项目讲解视频:https://www.bilibili.com/video/BV1Tb421n72S 二次开发教程:https://www.bilibili.com/video/BV18i421i7Dx
小学元旦晚会PPT 模版
免费JAVA毕业设计 2024成品源码+论文+数据库+启动教程 启动教程:https://www.bilibili.com/video/BV1SzbFe7EGZ 项目讲解视频:https://www.bilibili.com/video/BV1Tb421n72S 二次开发教程:https://www.bilibili.com/video/BV18i421i7Dx
MATLAB中的语义分割技术探究与应用实践,matlab,语义分割 ,matlab; 语义分割,Matlab语义分割技术解析
免费JAVA毕业设计 2024成品源码+论文+数据库+启动教程 启动教程:https://www.bilibili.com/video/BV1SzbFe7EGZ 项目讲解视频:https://www.bilibili.com/video/BV1Tb421n72S 二次开发教程:https://www.bilibili.com/video/BV18i421i7Dx
1、文件内容:pulseaudio-10.0-6.el7_9.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/pulseaudio-10.0-6.el7_9.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装
"基于OpenCV与深度学习的人脸表情识别系统:利用Python与PyQt构建的可视化实时检测工具",基于OpenCV的人脸表情识别系统 相关技术:python,opencv,pyqt,深度学习 (请自行安装向日葵远程软件,以便提供远程帮助) 可编译为.exe文件。 软件说明:摄像头实时检测,加载照片,视频均可。 有基础的同学,可自行修改完善。 第一张和第二张为运行截图。 ,基于OpenCV的人脸表情识别系统; Python; OpenCV; PyQt; 深度学习; 实时检测; 照片和视频支持; 可编译为.exe文件; 运行截图。,"基于OpenCV与深度学习的人脸表情识别系统"
,步进方案,步进源码,两相步进矢量控制,超前角控制两种模式,成熟产品方案 支持特殊功能定制
三相储能PCS双向能量流动与Matlab仿真控制研究——基于SVPWM调制技术的建模与应用,三相储能PCS(Matlab仿真) 1.可实现Grid to Battery,Battery to Grid的能量双向流动。 2.本仿真基于Matlab仿真建立的模型, 3.采用SVPWM进行控制 ,三相储能PCS; 双向能量流动; Matlab仿真; SVPWM控制,三相储能PCS:能量双向流Matlab仿真模型(SVPWM控制)
deepseek部署教程.md
nodejs010-nodejs-ansicolors-0.3.2-1.el6.centos.alt.noarch.rpm
基于三菱PLC的四路抢答器控制系统原理及实践:含带解释的梯形图与IO分配图解,三菱 MCGS 基于PLC的四路抢答器控制系统 带解释的梯形图接线图原理图图纸,io分配,组态画面 ,三菱MCGS; PLC四路抢答器; 控制系统; 梯形图接线图; 原理图图纸; IO分配; 组态画面。,三菱PLC四路抢答器控制系统原理图及组态画面解析
基于运动数据时空特征提取的人类运动片段.pdf
基于机器学习的选股模型及投资组合研究.pdf
ollama安装包。。。。。。。。。。。。。。。。。
nodejs010-nodejs-ansistyles-0.1.3-1.el6.centos.alt.x86_64.rpm
Screenshot_20250201_111207_com_tencent_mm_LauncherUI.jpg
基于时空Transformer的端到端的视频注视目标检测.pdf