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插件HighCharts绘制2D饼图效果示例【附demo源码下载】
Mar 21 jQuery
如何编写jquery插件
Mar 29 jQuery
jQuery Easyui Treegrid实现显示checkbox功能
Aug 08 jQuery
基于JQuery的Ajax方法使用详解
Aug 16 jQuery
jQuery实现的简单无刷新评论功能示例
Nov 08 jQuery
jQuery实现点击自身以外区域关闭弹出层功能完整示例【改进版】
Jul 31 jQuery
jQuery实现模拟搜索引擎的智能提示功能简单示例
Jan 27 jQuery
JavaScript前端页面搜索功能案例【基于jQuery】
Jul 10 jQuery
JS 遍历 json 和 JQuery 遍历json操作完整示例
Nov 11 jQuery
jQuery实现飞机大战小游戏
Jul 05 jQuery
jQuery实现开关灯效果
Aug 02 jQuery
jquery实现简单每周轮换的日历
Sep 10 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模拟服务器实现autoindex效果的方法
2015/03/10 PHP
php实现可运算的验证码
2015/11/10 PHP
thinkphp制作404跳转页的简单实现方法
2016/09/22 PHP
PHP 7.4 新语法之箭头函数实例详解
2019/05/09 PHP
thinkPHP5.1框架中Request类四种调用方式示例
2019/08/03 PHP
Mootools 1.2教程 设置和获取样式表属性
2009/09/15 Javascript
百度留言本js 大家可以参考下
2009/10/13 Javascript
javascript关于运动的各种问题经典总结
2015/04/27 Javascript
基于JavaScript实现单选框下拉菜单添加文件效果
2016/06/26 Javascript
简单快速的实现js计算器功能
2017/08/17 Javascript
jQuery length 和 size()区别总结
2018/04/26 jQuery
Vue 中axios配置实例详解
2018/07/27 Javascript
JavaScript实现京东放大镜效果
2019/12/03 Javascript
Angular6项目打包优化的实现方法
2019/12/15 Javascript
python使用新浪微博api上传图片到微博示例
2014/01/10 Python
python获取当前时间对应unix时间戳的方法
2015/05/15 Python
基于numpy.random.randn()与rand()的区别详解
2018/04/17 Python
Python实现数据可视化看如何监控你的爬虫状态【推荐】
2018/08/10 Python
Django 路由系统URLconf的使用
2018/10/11 Python
解决pip install xxx报错SyntaxError: invalid syntax的问题
2018/11/30 Python
python3爬虫怎样构建请求header
2018/12/23 Python
PyCharm搭建Spark开发环境实现第一个pyspark程序
2019/06/13 Python
简单了解python装饰器原理及使用方法
2019/12/18 Python
详解python 降级到3.6终极解决方案
2020/02/06 Python
西班牙多品牌鞋店连锁店:Krack
2018/11/30 全球购物
机械电子工程毕业生自荐信
2013/11/23 职场文书
单位门卫岗位职责
2013/12/20 职场文书
军训教官感言
2014/03/02 职场文书
节水倡议书范文
2014/04/15 职场文书
人力资源管理专业应届生求职信
2014/04/24 职场文书
会计个人实习计划书
2014/08/15 职场文书
2016年幼儿园万圣节活动总结
2016/04/05 职场文书
深入浅析React中diff算法
2021/05/19 Javascript
Html5大屏数据可视化开发的实现
2021/06/11 HTML / CSS
使用Spring处理x-www-form-urlencoded方式
2021/11/02 Java/Android
mysql 索引的数据结构为什么要采用B+树
2022/04/26 MySQL