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和原生JavaScript实现网页定位导航特效
Apr 03 jQuery
jQuery插件开发发送短信倒计时功能代码
May 09 jQuery
jQuery遮罩层实例讲解
May 11 jQuery
jQuery Autocomplete简介_动力节点Java学院整理
Jul 17 jQuery
jQuery使用zTree插件实现可拖拽的树示例
Sep 23 jQuery
jQuery实现的简单前端搜索功能示例
Oct 28 jQuery
利用jquery如何从json中读取数据追加到html中
Dec 01 jQuery
jQuery实现碰到边缘反弹的动画效果
Feb 24 jQuery
jQuery序列化form表单数据为JSON对象的实现方法
Sep 20 jQuery
JQuery中queue方法用法示例
Jan 31 jQuery
jquery操作checkbox的常用方法总结【附测试源码下载】
Jun 10 jQuery
JS+JQuery实现无缝连接轮播图
Dec 30 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
一个简单的MySQL数据浏览器
2006/10/09 PHP
Js数组的操作push,pop,shift,unshift等方法详细介绍
2012/12/28 Javascript
jQuery根据纬度经度查看地图处理程序
2013/05/08 Javascript
js实现可拖动DIV的方法
2013/12/17 Javascript
JavaScript实现强制重定向至HTTPS页面
2015/06/10 Javascript
简单实现JS对dom操作封装
2015/12/02 Javascript
浅谈jquery的html方法里包含特殊字符的处理
2016/11/30 Javascript
利用jQuery实现滑动开关按钮效果(附demo源码下载)
2017/02/07 Javascript
JS开发中百度地图+城市联动实现实时触发查询地址功能
2017/04/13 Javascript
使用JavaScript根据图片获取条形码的方法
2017/07/04 Javascript
详解Vue webapp项目通过HBulider打包原生APP
2018/06/29 Javascript
jQuery实现基本隐藏与显示效果的方法详解
2018/09/05 jQuery
vue swipe自定义组件实现轮播效果
2019/07/03 Javascript
JS自定义滚动条效果
2020/03/13 Javascript
vue实现图片上传功能
2020/05/28 Javascript
python将字符串转换成数组的方法
2015/04/29 Python
python实现用户答题功能
2018/01/17 Python
PyQt5实现让QScrollArea支持鼠标拖动的操作方法
2019/06/19 Python
在macOS上搭建python环境的实现方法
2019/08/13 Python
解决os.path.isdir() 判断文件夹却返回false的问题
2019/11/29 Python
pytorch 指定gpu训练与多gpu并行训练示例
2019/12/31 Python
关于tensorflow的几种参数初始化方法小结
2020/01/04 Python
python 将列表里的字典元素合并为一个字典实例
2020/09/01 Python
python 动态绘制爱心的示例
2020/09/27 Python
佳能德国网上商店:Canon德国
2017/03/18 全球购物
美国领先的医疗警报服务:Philips Lifeline
2018/03/12 全球购物
英国家喻户晓的家居商店:The Range
2019/03/25 全球购物
Myprotein芬兰官网:欧洲第一运动营养品牌
2019/05/05 全球购物
介绍一下内联、左联、右联
2013/12/31 面试题
营业员个人总结的自我评价
2013/10/25 职场文书
《唯一的听众》教学反思
2014/02/20 职场文书
新闻编辑求职信
2014/04/09 职场文书
如何撰写一封出色的求职信
2014/04/27 职场文书
党员公开承诺书(2016最新版)
2016/03/24 职场文书
2019行政前台转正申请书范文3篇
2019/08/15 职场文书
导游词之无锡华莱坞
2019/12/02 职场文书