基于JQuery实现表单元素值的回写

form.jsp:

<%@ page language="java" import="java.util.*" pageEncoding="GB2312"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html >
<head>
<meta http-equiv="ptable-Type" ptable="text/html; charset=GBK">
<title>表单回写</title>
<script type="text/javascript"	src="jquery.form_util.js"></script>
<script type="text/javascript">
$(function() {
	var obj={
			name:"张四",
			area:"591",
			sex:"11",
			enjoy:"100011",			
			note:"xxxxxxxxxxx"
	};
	FormUtil.set(obj);
	
});
</script>
</head>
<body>
姓名:<input id="name" name="name" type="text"><br/>
地区:<select id="area" name="area" >
	<option value="9999">---请选择---</option>
	<option value="591">福州</option>
	<option value="592">厦门</option>
	<option value="593">宁德</option>
</select><br/>
性别:<input id="sex" name="sex" type="radio" value="11">男 
<input id="sex" name="sex" type="radio" value="12">女<br/>
兴趣:<input id="enjoy" name="enjoy" type="checkbox" value="1">AA 
<input id="enjoy" name="enjoy" type="checkbox" value="1">BB
<input id="enjoy" name="enjoy" type="checkbox" value="1">CC
<input id="enjoy" name="enjoy" type="checkbox" value="1">DD
<input id="enjoy" name="enjoy" type="checkbox" value="1">EE
<input id="enjoy" name="enjoy" type="checkbox" value="1">FF
<br/>
备注:<textarea id="note" name="note" rows="10" cols="10"></textarea><br/>
</body>
</html>


jquery.form_util.js:

/**表单元素回写工具
 * wumingkun 2014-08-19
 */
var FormUtil={
		//值回写方法
		set:function(obj){
			var attr;
			for(attr in obj){
				var element=$("#"+attr)[0];
				var nodeName=element.nodeName;
				if(nodeName=="INPUT"){
					FormUtil.judgeType($(element).attr("type"),attr,obj[attr]);
				}else if(nodeName=="SELECT"){
					FormUtil.setSelect(attr,obj[attr]);
				}else if(nodeName=="TEXTAREA"){
					FormUtil.setValue(attr,obj[attr]);
				}
			}
		},
		//设置文本框 文本域 密码框 隐藏框
		setValue:function(key,value){
			$("#"+key).val(value);
		},
		//设置下拉框
		setSelect:function(key,value){
			$("#"+key+" option").each(function(){
				if(this.value==value){
					$(this).attr("selected","selected");
				}
			});
		},
		//设置radio
		setRadio:function(key,value){
			$(":radio[name='"+key+"']").attr("checked",false);
			$(":radio[value='"+value+"']").attr("checked",true);
		},
		//设置checkbox
		setCheckbox:function(key,value,isDefault){
			$(":checkbox[name='"+key+"']").attr("checked",false);
			if(isDefault){
				var vs=value.split("");
				for(var i=vs.length-1;i>=0;i--){
					if(vs[i]=="1"){
						$(":checkbox[name='"+key+"']").filter(":eq("+(vs.length-1-i)+")").attr("checked",true);
					}
				}
			}else {
				
			}
		},
		//input类型判断
		judgeType:function(type,key,value){
			if(type=="text"||type=="password"||type=="hidden"){
				FormUtil.setValue(key,value);
			}else if(type=="radio"){
				FormUtil.setRadio(key,value);
			}else if(type=="checkbox"){
				FormUtil.setCheckbox(key,value,true);
			}
		}
};



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值