js for form
//表单填充
表单填充
, formDataLoad: function (domId, obj) {
for (var property in obj) {
if (obj.hasOwnProperty(property) == true) {
if ($("#" + domId + " [name='" + property + "']").size() > 0) {
$("#" + domId + " [name='" + property + "']").each(function () {
var dom = this;
if ($(dom).attr("type") == "radio") {
$(dom).filter("[value='" + obj[property] + "']").attr("checked", true);
}
if ($(dom).attr("type") == "checkbox") {
obj[property] == true ? $(dom).attr("checked", "checked") : $(dom).attr("checked", "checked").removeAttr("checked");
}
if ($(dom).attr("type") == "text" || $(dom).prop("tagName") == "SELECT" || $(dom).attr("type") == "hidden" || $(dom).attr("type") == "textarea") {
$(dom).val(obj[property]);
}
if ($(dom).prop("tagName") == "TEXTAREA") {
$(dom).val(obj[property]);
}
});
}
}
}
}
// 绑定单个下拉框方法
, bindSelectSingle: function (domId, data, defaultVal) {
/// <summary>
/// 绑定下拉框方法
/// </summary>
/// <param name="domId" type="type">dom的ID</param>
/// <param name="data" type="type">json数据</param>
var selectDom$ = $("#" + domId);
selectDom$.find("option").remove();
$(data).each(function () {
selectDom$.append("<option value='" + this.Key + "'>" + this.Value + "</option>");
});
if (defaultVal != undefined) {
selectDom$.val(defaultVal);
}
}
//取url参数
getUrlVars: function () {
var vars = {};
var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi,
function (m, key, value) {
vars[key] = value;
}
);
return vars;
}
, getValueBydataPropAndKey: function (dataProp, key) {
/// <summary>
/// 通过数据源属性和下拉框Key得到Value
/// </summary>
/// <param name="dataProp" type="string">数据源属性</param>
/// <param name="key" type="string">下拉框Key</param>
var json = window.cacheSelectData
, arr = JSON.parse(json[dataProp])
, value = "";
$(arr).each(function () {
if (this.Key == key) {
value = this.Value;
return;
}
});
return value;
}
//脏值处理
, dirtyValueHandle: function (val) {
if (val == null || val == undefined) {
return "";
} else {
return val;
}
}
//url参数转对象,如?name=1&age=20转换后为{name:1,age:20}
, parseQuery: function (query) {
var reg = /([^=&\s]+)[=\s]*([^&\s]*)/g;
var obj = {};
while (reg.exec(query)) {
obj[RegExp.$1] = RegExp.$2;
}
return obj;
}
js for form的更多相关文章
- jquery的validate.js 和 form.js 的使用方法
在使用 Jquery 的方法的验证并且修改 原Form 表单的提交方式的时候,需要引用的文件有 <script type="text/javascript" src=&quo ...
- js模拟form表单提交数据, js模拟a标签点击跳转,避开使用window.open引起来的浏览器阻止问题
js模拟form表单提交数据, js模拟a标签点击跳转,避开使用window.open引起来的浏览器阻止问题 js模拟form表单提交数据源码: /** * js模拟form表单提交 * @param ...
- JS 提交form表单
源码实例一:javascript 页面加裁时自动提交表单Form表单:<form method="post" id="myform" action=&qu ...
- <input type = "submit"> 提交方式和用js的form.submit()有什么区别?
假设: A表单内有<input type="submit">,通过点击这个input来提交表单 B表单内没有<input type="submit&qu ...
- js重置form表单
CreateTime--2017年7月19日10:37:11Author:Marydon js重置form表单 需要使用的方法:reset() 示例: HTML部分 <form id=&qu ...
- js获取form的方法
先来看下面代码: ? <html> <head> <scirpy> window.onload=function(){ var f1=document.f1; ...
- js验证form表单示例
js验证form表单示例 检测测试了js表单验证,无jQuery(简单的功能有时无需jQuery版本) js代码如下: <script type="text/javascript& ...
- egg.js 通过 form 和 ajax 两种方式上传文件并自定义目录和文件名
egg.js 通过 form 和 ajax 两种方式上传文件并自定义目录和文件名 评论:10 · 阅读:8437· 喜欢:0 一.需求 二.CSRF 校验 三.通过 form 表单上传文件 四.通过 ...
- 第十七篇 JS验证form表单
JS验证form表单 这节课做一个实际的,项目里会遇到的东西,例如登录页面,我们输入‘用户名’和‘密码’或者‘手机号’还有‘验证码’等等,它都会做一个前端验证,比如验证码,是6位有效数字组成,那么 ...
- js阻止form表单重复提交
防止表单重复提交的方法总体来说有两种,一种是在js中阻止重复提交:另一种是在后台利用token令牌实现,大致思路是生成一个随机码放到session和form表单的隐藏输入框中,提交表单时两者对比,表单 ...
随机推荐
- Hadoop本地库介绍及相关问题解决方法汇总
1.hadoop本地库的作用是什么?2.哪两个压缩编码器必须使用hadoop本地库才能运行?3.hadoop的使用方法?4.hadoop本地库与系统版本不一致会引起什么错误?5.$ export HA ...
- windows环境下VS2008编译程序在有些电脑上执行不了的问题
近期遇到一种情况,在windows下.用vs2008编译程序,在本机(XP系统)能够执行,但放在别的系统上执行不了.这样的情况是因为执行库在别的系统上没有,或许能够安装执行库能解决问题.可是,这样似乎 ...
- [svc][op]ssh交互yes问题解决-expect
Expect是Unix系统中用来进行自动化控制和测试的软件工具C67默认未安装:使用需要安装: yum install expect -ywhich expect #查看安装路径 核心命令: [roo ...
- .NET Remoting中的通道注册
今天我的同事使用Remoting注册一个新通道.奇怪的是,通道始终无法注册,总是报告异常“该通道已被占用”.我明白这个异常出现的原因,但不明白的是此时系统并未使用任何一个通道,为何会有这个异常呢?即使 ...
- leetcode第一刷_Jump Game II
要求最小的步数,是不是非常easy想到用dp啊? 我一開始的做法是,当找到了一个可以从它延伸到更远的位置,就把这个位置和最远位置的步数都更新一下,结果超时了. 事实上这样不仅是超时的,并且是错误的.由 ...
- ntp服务的细节全解析
在linux里设置NTP服务并不难,但是NTP本身确是一个很复杂的协议. 你都了解细节么? 1. 时间和时区 date命令可显示时间与市区 [root@T_PV1_DB ~]# date Tue Fe ...
- mac os开发之简单动画
[NSAnimationContextbeginGrouping]; [[NSAnimationContextcurrentContext] setDuration:.1f]; [[self.wind ...
- HBase性能优化方法总结(二):写表操作
转自:http://www.cnblogs.com/panfeng412/archive/2012/03/08/hbase-performance-tuning-section2.html 本文主要是 ...
- 编写Spark的WordCount程序并提交到集群运行[含scala和java两个版本]
编写Spark的WordCount程序并提交到集群运行[含scala和java两个版本] 1. 开发环境 Jdk 1.7.0_72 Maven 3.2.1 Scala 2.10.6 Spark 1.6 ...
- Eclipse+tomcat+axis2进行web service部署
用Eclipse+axis2+tomcat进行web service部署 2016-12-07 目录 1 安装JDK 1.1 下载JDK 1.2 安装和配置JDK 1.3 验证2 安装Ecli ...