jQuery实现获取form表单内容及绑定数据到form表单操作分析


Posted in jQuery onJuly 03, 2018

本文实例讲述了jQuery实现获取form表单内容及绑定数据到form表单操作。分享给大家供大家参考,具体如下:

在日常开发的过程中,难免会用到form表单,我们需要获取表单的数据保存到数据库,或者拿到后台的一串json数据,要将数据绑定到form表单上,这里我写了一个基于jquery的,formHelp插件,使用起来也很简单:

获取表单的数据:$("#formid").serializeJson();

绑定数据到表单:$("#formid").setForm(json);

jquery.formHelp.js插件

/**
 * 将form里面的内容序列化成json
 * 相同的checkbox用分号拼接起来
 * @param {dom} 指定的选择器
 * @param {obj} 需要拼接在后面的json对象
 * @method serializeJson
 * */
$.fn.serializeJson=function(otherString){
  var serializeObj={},
    array=this.serializeArray();
  $(array).each(function(){
    if(serializeObj[this.name]){
      serializeObj[this.name]+=';'+this.value;
    }else{
      serializeObj[this.name]=this.value;
    }
  });
  if(otherString!=undefined){
    var otherArray = otherString.split(';');
    $(otherArray).each(function(){
      var otherSplitArray = this.split(':');
      serializeObj[otherSplitArray[0]]=otherSplitArray[1];
    });
  }
  return serializeObj;
};
/**
 * 将josn对象赋值给form
 * @param {dom} 指定的选择器
 * @param {obj} 需要给form赋值的json对象
 * @method serializeJson
 * */
$.fn.setForm = function(jsonValue){
  var obj = this;
  $.each(jsonValue,function(name,ival){
    var $oinput = obj.find("input[name="+name+"]");
    if($oinput.attr("type")=="checkbox"){
      if(ival !== null){
        var checkboxObj = $("[name="+name+"]");
        var checkArray = ival.split(";");
        for(var i=0;i<checkboxObj.length;i++){
          for(var j=0;j<checkArray.length;j++){
            if(checkboxObj[i].value == checkArray[j]){
              checkboxObj[i].click();
            }
          }
        }
      }
    }
    else if($oinput.attr("type")=="radio"){
      $oinput.each(function(){
        var radioObj = $("[name="+name+"]");
        for(var i=0;i<radioObj.length;i++){
          if(radioObj[i].value == ival){
            radioObj[i].click();
          }
        }
      });
    }
    else if($oinput.attr("type")=="textarea"){
      obj.find("[name="+name+"]").html(ival);
    }
    else{
      obj.find("[name="+name+"]").val(ival);
    }
  })
}

html测试代码

<!DOCTYPE html>
<html>
<head lang="en">
  <meta charset="UTF-8">
  <title>jQueryFormHelp练习</title>
  <script src="http://libs.baidu.com/jquery/2.0.0/jquery.js"></script>
  <script src="jquery.formHelp.js"></script>
  <script type="text/javascript">
  $(function () {
    $("#form").setForm({a: '张三家的附近可考虑将', b: '王五', c: '王五', d: 'nishi yaldjlkfjal ',e:7,f:'8;10',i:'王'});
  });
  function submitForm(){
    console.log($("#form").serializeJson('id:12;name:13;'));
  }
</script>
</head>
<body>
<form id="form">
  <div><input type="text" name="a" /></div>
  <div><input type="text" name="b" id="b" /></div>
  <div><input type="hidden" name="c" id="c" /></div>
  <div>
    <textarea name="d" rows="8" cols="40"></textarea>
    <input type="checkbox" name="f" value="10"/>
  </div>
  <div><select name="e">
    <option value="5" selected="selected">5</option>
    <option value="6">6</option>
    <option value="7">7</option>
  </select></div>
  <div>
    <input type="checkbox" name="f" value="8" />
    <input type="checkbox" name="f" value="9"/>
  </div>
  <div>
    <input name="i" type="radio" value="王" />王
    <input name="i" type="radio" value="小" />小
  </div>
  <div>
    <input type="button" name="g" value="Submit" id="g" onclick="submitForm()"/>
  </div>
</form>
</body>
</html>

使用在线HTML/CSS/JavaScript代码运行工具 http://tools.3water.com/code/HtmlJsRun测试运行效果如下:

jQuery实现获取form表单内容及绑定数据到form表单操作分析

希望本文所述对大家jQuery程序设计有所帮助。

jQuery 相关文章推荐
jquery点赞功能实现代码 点个赞吧!
May 29 jQuery
jquery插件canvaspercent.js实现百分比圆饼效果
Jul 18 jQuery
深入研究jQuery图片懒加载 lazyload.js使用方法
Aug 16 jQuery
jQuery选择器之表单元素选择器详解
Sep 19 jQuery
jQuery自动或手动图片切换效果
Oct 11 jQuery
jQuery 实现左右两侧菜单添加、移除功能
Jan 02 jQuery
jquery radio 动态控制选中失效问题的解决方法
Feb 28 jQuery
基于jQuery实现无缝轮播与左右点击效果
May 13 jQuery
js与jQuery实现获取table中的数据并拼成json字符串操作示例
Jul 12 jQuery
jQuery.extend 与 jQuery.fn.extend的用法及区别实例分析
Jul 25 jQuery
jQuery实现鼠标移入移出事件切换功能示例
Sep 06 jQuery
多种类型jQuery网页验证码插件代码实例
Jan 09 jQuery
jQuery阻止事件冒泡实例分析
Jul 03 #jQuery
jQuery实现模糊搜索功能的方法分析
Jun 29 #jQuery
jQuery实现获取动态添加的标签对象示例
Jun 28 #jQuery
jQuery实现获取选中复选框的值实例详解
Jun 28 #jQuery
jQuery实现ajax回调函数带入参数的方法示例
Jun 26 #jQuery
通过jquery.cookie.js实现记住用户名、密码登录功能
Jun 20 #jQuery
jQuery使用动画队列自定义动画操作示例
Jun 16 #jQuery
You might like
php 字符串替换的方法
2012/01/10 PHP
深入PHP autoload机制的详解
2013/06/09 PHP
作为程序员必知的16个最佳PHP库
2015/12/09 PHP
Thinkphp5框架实现获取数据库数据到视图的方法
2019/08/14 PHP
jQuery 相关控件的事件操作分解
2009/08/03 Javascript
网页前端优化之滚动延时加载图片示例
2013/07/13 Javascript
js 判断浏览器使用的语言示例代码
2014/03/22 Javascript
window resize和scroll事件的基本优化思路
2014/04/29 Javascript
javascript复制粘贴与clipboardData的使用
2014/10/16 Javascript
jQuery实现点击小图显示大图代码分享
2015/08/25 Javascript
JavaScript匿名函数之模仿块级作用域
2015/12/12 Javascript
ionic实现滑动的三种方式
2016/08/27 Javascript
给easyui的datebox控件添加清空按钮的实现方法
2016/11/09 Javascript
javascript实现循环广告条效果
2017/12/12 Javascript
jQuery实现的回车触发按钮事件功能示例
2018/03/25 jQuery
vue src动态加载请求获取图片的方法
2018/10/17 Javascript
如何使用 vue + d3 画一棵树
2018/12/03 Javascript
javascript实现导航栏分页效果
2019/06/27 Javascript
elementUI 动态生成几行几列的方法示例
2019/07/11 Javascript
layui数据表格跨行自动合并的例子
2019/09/02 Javascript
微信小程序实现下拉加载更多商品
2020/12/29 Javascript
python爬虫入门教程之点点美女图片爬虫代码分享
2014/09/02 Python
Python的字典和列表的使用中一些需要注意的地方
2015/04/24 Python
Django中URL视图函数的一些高级概念介绍
2015/07/20 Python
基于Python的关键字监控及告警
2017/07/06 Python
快速了解python leveldb
2018/01/18 Python
Python Print实现在输出中插入变量的例子
2019/12/25 Python
python3连接mysql获取ansible动态inventory脚本
2020/01/19 Python
pytorch 常用函数 max ,eq说明
2020/06/28 Python
Python如何使用input函数获取输入
2020/08/06 Python
CSS3绘制圆角矩形的简单示例
2015/09/28 HTML / CSS
房屋买卖协议书
2014/04/10 职场文书
人事任命书格式
2014/06/05 职场文书
2014年药店工作总结
2014/11/20 职场文书
2014年网管工作总结
2014/12/11 职场文书
纪检监察立案决定书
2015/06/24 职场文书