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表单的隐藏输入框中,提交表单时两者对比,表单 ...
随机推荐
- 在ASP.NET MVC5中使用特性路由
首先在RegisterRoutes时开启特性路由功能: routes.MapMvcAttributeRoutes(); 然后,就可以使用了. [Route("{productId:int}/ ...
- [hihoCoder] #1093 : 最短路径·三:SPFA算法
时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 万圣节的晚上,小Hi和小Ho在吃过晚饭之后,来到了一个巨大的鬼屋! 鬼屋中一共有N个地点,分别编号为1..N,这N个地点之 ...
- 【翻译自mos文章】job 不能自己主动执行--这是另外一个mos文章,本文章有13个解决方法
job 不能自己主动执行--这是另外一个mos文章 參考原文: Jobs Not Executing Automatically (Doc ID 313102.1) 适用于: Oracle Datab ...
- [na][QoS]cisco3560限速配置案例-收集于网工泡泡
网络中常用到这些:CISCO和H3C-MAC过滤+端口限速+端口镜像+端口隔离 不同的方式不同的思想:嘎嘎 其他各个厂商的限速链接:http://pan.baidu.com/s/1hrIMoSG 密码 ...
- CyclicBarrier分析与实例
一,介绍 CyclicBarrier是一个保持多个线程共享同一个状态的工具类. 也就是说在多线程环境下,能够通过设定某一个状态来达到线程之间的同步.这个类有两个有參构造方法.各自是CyclicBar ...
- 关于MySQL字符集问题:Specified key was too long; max key length is 767 bytes
[文章来源]http://blog.csdn.net/cindy9902/article/details/6215769 MySQL: ERROR 1071 (42000): Specified ke ...
- Linux Jenkins配置Git
1.卸载Centos自带的git1.7.1:通过git –version查看系统带的版本,Centos应该自带的是git版本是1.7.1 终端输入:yum remove git 2.安装所需软件包 终 ...
- 更改datatables的分页切换时的'processing'提示信息的式样
jquery.dataTables.css .dataTables_wrapper .dataTables_processing { position: absolute; top: 50%; lef ...
- SharePoint自动化系列——通过PowerShell创建SharePoint List Items
转载请注明出自天外归云的博客园:http://www.cnblogs.com/LanTianYou/ 代码如下(保存到本地ps1文件中,右键run with PowerShell即可): Add-PS ...
- 算法初探——大O表示法
#include <stdio.h> #include<malloc.h> int sum2(int n)//时间复杂度为常数,记为大欧-->O(1) { ; sum = ...