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 校验中国身份证号码实例详解
Apr 11 jQuery
jQuery validata插件实现方法
Jun 25 jQuery
jQuery 实时保存页面动态添加的数据的示例
Aug 14 jQuery
jQuery实现炫丽的3d旋转星空效果
Jul 04 jQuery
Vue.js 通过jQuery ajax获取数据实现更新后重新渲染页面的方法
Aug 09 jQuery
jQuery实现的隔行变色功能【案例】
Feb 18 jQuery
jquery.tagsinput.js实现记录checkbox勾选的顺序
Sep 21 jQuery
jQuery单页面文字搜索插件jquery.fullsearch.js的使用方法
Feb 04 jQuery
js、jquery实现列表模糊搜索功能过程解析
Mar 27 jQuery
jQuery 隐藏/显示效果函数用法实例分析
May 20 jQuery
jQuery实现的分页插件完整示例
May 26 jQuery
jQuery实现放大镜案例
Oct 19 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实现读取和编写XML DOM代码
2010/04/07 PHP
coreseek 搜索英文的问题详解
2013/06/08 PHP
PHP实现算式验证码和汉字验证码实例
2015/03/09 PHP
JQuery开发的数独游戏代码
2010/10/29 Javascript
Windows8下搭建Node.js开发环境教程
2014/09/03 Javascript
js代码实现随机颜色的小方块
2015/07/30 Javascript
详解JavaScript逻辑And运算符
2015/12/04 Javascript
JSP防止网页刷新重复提交数据的几种方法
2016/11/19 Javascript
bootstrap学习使用(导航条、下拉菜单、轮播、栅格布局等)
2016/12/01 Javascript
深入理解JavaScript中的预解析
2017/01/04 Javascript
JavaScript模块化之使用requireJS按需加载
2017/04/12 Javascript
基于vue组件实现猜数字游戏
2020/05/28 Javascript
Vue项目中设置背景图片方法
2018/02/21 Javascript
jQuery实现ajax的嵌套请求案例分析
2019/02/16 jQuery
微信小程序获取地理位置及经纬度授权代码实例
2019/09/18 Javascript
微信小程序转发事件实现解析
2019/10/22 Javascript
node.js域名解析实现方法详解
2019/11/05 Javascript
JS监听组合按键思路及实现过程
2020/04/17 Javascript
JavaScript实现页面高亮操作提示和蒙板
2021/01/04 Javascript
[44:40]2018DOTA2亚洲邀请赛3月30日 小组赛A组Liquid VS OG
2018/03/31 DOTA
python基于socket实现网络广播的方法
2015/04/29 Python
pip安装Python库时遇到的问题及解决方法
2017/11/23 Python
Python3.5实现的罗马数字转换成整数功能示例
2019/02/25 Python
Sport-Thieme荷兰:购买体育用品
2019/08/25 全球购物
网络、C以及其他硬件方面的面试题
2016/08/23 面试题
数控技术专业推荐信
2013/11/01 职场文书
自考毕业生自我鉴定
2013/11/04 职场文书
大学生文员专业个人求职信范文
2014/01/05 职场文书
白酒营销策划方案
2014/08/17 职场文书
趵突泉导游词
2015/02/03 职场文书
作弊检讨书范文
2015/05/06 职场文书
2015教师个人师德工作总结
2015/10/23 职场文书
2019商业计划书格式、范文
2019/04/24 职场文书
Django项目如何获得SSL证书与配置HTTPS
2021/04/30 Python
html5实现点击弹出图片功能
2021/07/16 HTML / CSS
使用Python开发冰球小游戏
2022/04/30 Python