//js将表单序列化成对象
$.fn.serializeObject = function () {
var $els = $(this).find("[name]");
var formData = {};
var len = $els.length;
for (var i = 0; i < len; i++) {
var $item = $($els[i]);
var name = $item.attr("name");
var type = $item.attr("type");
if (type == "checkbox") {
formData[name] = $item.is(':checked');
}
else
{
formData[name] = $item.val();
}
}
return formData;
}; /*根据name给子元素的Text赋值*/
$.fn.SetChildsText = function (model) {
var el = this.find("[name]");
var elCount = el.length;
if (elCount > 0) {
for (var i = 0; i < elCount; i++) {
$itemEl = $(el[i]);
var name = $itemEl.attr("name");
var formatterFun = $itemEl.attr("data-formatter");
var value = model[name];
if (value != null) {
if (typeof (window[formatterFun]) == "function") {
value = window[formatterFun](value);
}
$itemEl.text(value);
}
else {
$itemEl.text("");
}
}
}
}; /*获取查询参数*/
function GetQueryString(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if (r != null) return unescape(r[2]); return null;
} /**
* 绑定下拉框
* @param {any} selId:下拉框Id
* @param {any} url
* @param {any} idField
* @param {any} valueField
* @param {any} initValue:初始值
*/
function BindSelect(selId, url, idField, valueField, initValue) {
$.get(url, function (data) {
var len = data.length;
var selItems = [];
for (var i = 0; i < len; i++) {
selItems.push('<option value="' + data[i][idField] + '">' + data[i][valueField] + '</option>');
}
$("#" + selId).append(selItems);
if (initValue) {
$("#" + selId).val(initValue);
}
});
} /*表单赋值*/
function FormLoad(formId, data) {
var $form = $("#" + formId);
$.each(data, function (name, ival) {
var $oinput = $form.find("input[name=" + name + "]");
if ($oinput.attr("type") == "radio" || $oinput.attr("type") == "checkbox") {
$oinput.each(function () {
if (Object.prototype.toString.apply(ival) == '[object Array]') {// 是复选框,并且是数组
for (var i = 0; i < ival.length; i++) {
if ($(this).val() == ival[i])
$(this).attr("checked", "checked");
}
} else {
if ($(this).val() == ival)
$(this).attr("checked", "checked");
}
});
} else if ($oinput.attr("type") == "textarea") {// 多行文本框
$form.find("[name=" + name + "]").html(ival);
} else {
$form.find("[name=" + name + "]").val(ival);
}
});
}

jquery常用表单操作的更多相关文章

  1. 基于jQuery的表单操作

    1,文本框的聚焦和失焦 在对文本框进行操作时,通常为了提升用户体验,是用户的操作得到及时的反馈,会在文本框获得焦点时,让其颜色改变,然后在失去焦点时恢复为原来的样式,一般情况下,我们可以通过css的伪 ...

  2. 基于JQuery的前端form表单操作

    Jquery的前端表单操作:     jquery提供了良好的方法封装,在一些基本的操作的时候,能节省很多的麻烦,其中,在具体使用时,form表单的数据提交是最频繁也最常见的前后数据交换方式,所以在前 ...

  3. jQuery Mobile 表单基础

    jQuery Mobile 会自动为 HTML 表单添加优异的便于触控的外观. jQuery Mobile 表单结构 jQuery Mobile 使用 CSS 来设置 HTML 表单元素的样式,以使其 ...

  4. 通过AJAX和PHP,提交JQuery Mobile表单

    File name: callajax.php <?php $firstName = $_POST[firstName]; $lastName = $_POST[lastName]; echo( ...

  5. 【锋利的jQuery】表单验证插件踩坑

    和前几篇博文提到的一样,由于版本原因,[锋利的jQuery]表单验证插件部分又出现照着敲不出效果的情况. 书中的使用方法: 1. 引入jquery源文件, 2. 引入表单验证插件js文件, 3. 在f ...

  6. ASP.NET MVC Jquery Validate 表单验证的多种方式

    在我们日常开发过程中,前端的表单验证很重要,如果这块处理不当,会出现很多bug .但是如果处理的好,不仅bug会很少,用户体验也会得到很大的提升.在开发过程中我们可以不借助 JS 库,自己去手写 JS ...

  7. jQuery Form 表单提交插件-----formSerialize,fieldSerialize,fieldValue,resetForm,clearForm,clearFields的 应用

    一.jQuery Form的其他api  1.  formSerialize 将表单序列化成查询串.这个方法将返回一个形如: name1=value1&name2=value2的字符串.是否可 ...

  8. jQuery Form 表单提交插件----Form 简介,官方文档,官方下载地址

     一.jQuery Form简介 jQuery Form插件是一个优秀的Ajax表单插件,可以非常容易地.无侵入地升级HTML表单以支持Ajax.jQuery Form有两个核心方法 -- ajaxF ...

  9. jQuery实现表单验证

    表单是网页的一个重要组成部分.本节做一个简单的表单提交网页然后利用jQuery实现表单的验证.后续的表单完善以及功能的完善会在以后的博客中给出. 效果图: 代码: <!DOCTYPE html ...

随机推荐

  1. linux下配置nginx负载均衡例子

    准备2台虚拟机: 分别在两个虚拟机上安装tomcat,并在服务器A安装nginx,其中nginx端口设置为了 70. 服务器A的tomcat安装目录: 服务器B的tomcat安装目录: 服务器A的ng ...

  2. 关于 Spring Security 5 默认使用 Password Hash 算法

    账户密码存储的安全性是一个很老的话题,但还是会频频发生,一般的做法是 SHA256(userInputpwd+globalsalt+usersalt) 并设置密码时时要求长度与大小写组合,一般这样设计 ...

  3. Android Studio 签名打包

    项目开发完成后,如果要分发到Google play或者各个第三方渠道,签名打包是必不可少的,下面详细介绍整个签名打包过程,及如何查看签名. 1.创建签名文件 选择要打包的项目-点击Build-在弹出的 ...

  4. 十余年软件开发经历,经验总结和程序一览(涉及Socket、WPF、vc++、CAD、图像、GIS)

    前言 本文主要介绍我开发的几款软件产品,大概介绍一下功能.可以让读者了解本人的开发能力,所擅长的方面.有相关开发需求可以联系作者. 本人开发软件多年,从事的行业也多种多样:自然接触了不同的业务,开发了 ...

  5. Solidity中uint转bytes

    Solidity中uint转bytes方法如下: pragma solidity ^0.4.2; contract Test { function toBytesNickJohnson(uint256 ...

  6. 无法启动MYSQL服务”1067 进程意外终止”解决的方法

    自己一開始依照百度经验里的方法——<MySQL下载安装.配置与使用(win7x64)>去安装和配置,可是到后面步骤总是出现1067代号的错误. 慢慢折腾去解决. 这里汇总各种导致mysql ...

  7. BizTalk 新增/修改/删除 XmlDocument 名字空间的高效方法

    新增一个名字空间 public class AddXmlNamespaceStream : XmlTranslatorStream { private String namespace_; priva ...

  8. ADNI数据

    之前整理的数据相关内容 数据的模态有 Clinical Data(临床数据) Genetic(基因数据) MRI PET BIOSPECIMEN(生物样本) 各模态数据的内容.特点 Clinical ...

  9. 【hihoCoder】#1133 : 二分·二分查找之k小数

    题目描述 在上一回里我们知道Nettle在玩<艦これ>,Nettle的镇守府有很多船位,但船位再多也是有限的.Nettle通过捞船又出了一艘稀有的船,但是已有的N(1≤N≤1,000,00 ...

  10. Linux问题杂谈

    1. 虚拟机 SSH 无法登录 1.1 问题1:未安装ssh服务端 ssh: connect to host 192.168.58.129 port 22: Connection refused 问题 ...