`
xumingrencai
  • 浏览: 1181328 次
文章分类
社区版块
存档分类
最新评论

js实现表单内容修改与初始值进行比较

 
阅读更多

我们有时候需要这样的一个功能,即我们从数据库读取了一些默认值到表单,此时,我们要对表单进行填写,我们希望我们填写过后的内容与初始的内容进行比较,当我们重新填写的内容与初试内容(各个表单的内容都要进行比较)不同时,我们要实现某种功能。


以下是今天一个朋友找我要一个demo,类似的,希望当表单的内容与初始值内容不相同时,实现按钮的disableed的切换效果。上代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>unequalcheck</title>
<script type="text/javascript">
	var arr = [];
	function getValue() {
		var form = document.getElementById('form');
		var inputs = form.getElementsByTagName('input');
		var selected = form.getElementsByTagName('select');
		var un = inputs.item(0).value;
		var pw = inputs.item(1).value;
		var sex = selected.item(0).options[selected.item(0).selectedIndex].value;
		return [un , pw , sex];
	}
	
	function onloadFun() {
		arr = getValue();
		dis();
	}
	
	function dis() {
		var st = document.getElementById('submit');
		st.disabled = true;
		//alert(1);
	}
	
	function en() {
		var st = document.getElementById('submit');
		st.disabled = false;
		//alert(2);
	}
	
	function change() {
		var thisarr = getValue();
		var flag = compare(thisarr , arr);
		if(flag) {
			dis();
		}
		else {
			en();
		}
	}
	
	function compare(a , b) {
		var flag = true;
		for(var i = 0; i < a.length; i++) {
			if(a[i] !== b[i]) {
				flag = false;
			}
		}
		return flag;
	}
	
	window.onload = onloadFun;
</script>
</head>

<body>
<form action="javascript:void(0);" method="get" id="form">
	UserName : <input type="text" name="un" value="un" onchange="change();" /><br />
    PassWord : <input type="password" name="pw" value="pw" onchange="change();" /><br />
    Sex : <select name="sex" onchange="change();">
    	<option value="Boy">Boy</option>
        <option value="Girl">Girl</option>
    </select><br />
    <input type="submit" value="Submit" id="submit" /> <input type="reset" value="Reset" onclick="dis();" />
</form>
</body>
</html>

没有添加注释,不过也算是比较清晰,希望大家能够看懂。

具体的效果,诸位可以将代码在本地运行,就可知道。

不足之处还望予以指正,在此拜谢!




分享到:
评论

相关推荐

    Angular2.js实现表单验证详解

    1、我们可以参照快速启动那篇,创建一个名为forms的新项目,也可以使用之前的项目进行修改; 2、创建Person类; 3、创建控制此表单的组件; 4、创建具有初始表单布局的模板; 5、使用ngModel双向数据绑定语法把数据...

    JS对HTML表格进行增删改操作

     现在要通过js对表格进行动态的增删改查(只是内存操作即可): 首先,加载页面时用js加载3条初始化记录;  有一个增加记录的按钮,点击后弹出一个div层提供输入,要求各字段必须符合输入格式且不能为空:  用户名...

    JavaScript详解(第2版)

     15.7.2 更改元素的内容   15.7.3 使用DOM创建新元素   15.7.4 在节点前插入   15.7.5 为节点创建属性   15.7.6 DOM回顾:创建博客   15.7.7 使用DOM创建表格   15.7.8 复制节点   15.7.9 ...

    源文件程序天下JAVASCRIPT实例自学手册

    1.8 JavaScript的实现基础 1.8.1 ECMAScript 1.8.2 DOM 1.8.3 BOM 1.9 客户端与服务器端脚本 1.10 JavaScript与JScript、 VBScript 1.11 JavaScript与Java、Java applet 1.12 JavaScript的未来如何 1.13 本章小结 第...

    javascript函数的解释

    74.JS中状态栏显示内容:window.status="内容" 75.JS中的top指的是框架集中最顶层的框架 76.JS中关闭当前的窗口:window.close(); 77.JS中提出是否确认的框:if(confirm("Are you sure?")){alert("ok");}else{alert(...

    JavaScript权威指南(第6版)

    《JavaScript权威指南(第6版)》主要讲述的内容涵盖JavaScript语言本身,以及Web浏览器所实现的JavaScript API。本书第6版涵盖了HTML5和ECMAScript 5,很多章节完全重写,增加了当今Web开发的最佳实践的内容,新增...

    jQuery表单省市区城市三级联动

    jQuery表单省市区城市三级联动,代码中:initComplexArea('seachprov', 'seachcity', 'seachdistrict', area_... 51代表四川,如果要修改初始值可以在AreaData_min.js 中找对应地区的数字如:area_array[51]="四川省";

    JavaScript基础和实例代码

    1.8 JavaScript的实现基础 1.8.1 ECMAScript 1.8.2 DOM 1.8.3 BOM 1.9 客户端与服务器端脚本 1.10 JavaScript与JScript、 VBScript 1.11 JavaScript与Java、Java applet 1.12 JavaScript的未来如何 1.13 本章小结 第...

    JavaScript权威指南(第6版)(中文版)

    《JavaScript权威指南(第6版)》主要讲述的内容涵盖JavaScript语言本身,以及Web浏览器所实现的JavaScript API。本书第6版涵盖了HTML5和ECMAScript 5,很多章节完全重写,增加了当今Web开发的最佳实践的内容,新增...

    大名鼎鼎SWFUpload- Flash+JS 上传

     动态修改SWFUpload初始化设置中的post_params属性,其中所有的值都将被覆盖。  - 参数  param_object:一个simple JavaScript object,所有的name/value都必须是字符串,例如(this.setPostParams({ "Mari": name...

    JavaScript权威指南(第6版)中文文字版

    《JavaScript权威指南(第6版)》要讲述的内容涵盖JavaScript语言本身,以及web浏览器所实现的JavaScript API。本书第6版涵盖了 html5 和 ecmascript 5,很多章节完全重写,增加了当今 web 开发的最佳实践的内容,新增...

    NETSNS社交系统 v1.5.1 bulid 081209 源码版.rar

    全新“网站模板与网站程序完全分离”的概念,具有强大的标签加样式的个性化组合,自定义标签、自定义表单、JS管理加JS模型(自定义JS,系统JS)的灵活应用,支持不同频道、栏目、内容页、专题等应用不同的模板,随时...

    jquery-formChange:检查表单的元素是否已更改

    检查表单的元素是否真的从初始值改变了。 ##入门 包括 jquery.formChange.js 文件,然后将 formChange 应用到任何表单。 $ ( 'form' ) . formChange ( { hasChangedClass : 'has-changed' } ) ; $ ( 'form' )...

    php网络开发完全手册

    14.5 索引与唯一值的介绍 229 14.6 数据的操作 230 14.6.1 表的修改 230 14.6.2 表的删除 231 14.6.3 数据的查询 231 14.6.4 数据的插入 236 14.6.5 数据的更新 238 14.6.6 数据的删除 239 14.7 小结 239 第15章 ...

    jquery-fillform:自动填写表单,基于输入类型

    #jquery-fillform 自动填充表单,基于输入类型 ##入门 1. 在您的网站上包含 js。 &lt; script src =" js/jquery.... 在更改每个值之前onChange 结束 onEnd 自动提交 填写后onEnd自动提交表单 ##许可证麻省理工学院

    redux-inputs:redux-inputs是一个Javascript库,可与redux一起使用,以验证和存储输入和表单中的值

    redux-inputs与redux一起使用,以验证和存储输入和表单中的值。 特征 声明式验证 声明式解析 声明式格式 异步验证 按输入验证 跨领域验证 定制输入组件 程序化价值收集 程序值初始化 程序化价值修改 程序输入复位 ...

    JavaScript权威指南(第6版)

    《JavaScript权威指南(第6版)》要讲述的内容涵盖JavaScript语言本身,以及web浏览器所实现的JavaScript API。本书第6版涵盖了 html5 和 ecmascript 5,很多章节完全重写,增加了当今 web 开发的最佳实践的内容,新增...

    js使用小技巧

    Javascript小技巧一箩筐 事件源对象 event.srcElement.tagName event.srcElement.type 捕获释放 event.srcElement.setCapture(); event.srcElement.releaseCapture(); 事件按键 event.keyCode ...

    JavaScript权威指南(第6版) 中文版

    《JavaScript权威指南(第6版)》要讲述的内容涵盖JavaScript语言本身,以及web浏览器所实现的JavaScript API。本书第6版涵盖了 html5 和 ecmascript 5,很多章节完全重写,增加了当今 web 开发的最佳实践的内容,新增...

Global site tag (gtag.js) - Google Analytics