jquery form表单获取内容以及绑定数据


Posted in Javascript onFebruary 24, 2016

在日常开发的过程中,难免会用到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>

以上就是jquery获取form表单内容以及绑定数据到form表单的全部内容,希望对大家的学习有所帮助。

Javascript 相关文章推荐
JS解密入门 最终变量劫持
Jun 25 Javascript
让iframe子窗体取父窗体地址栏参数(querystring)
Oct 13 Javascript
jqeury eval将字符串转换json的方法
Jan 20 Javascript
Javascript中的回调函数和匿名函数的回调示例介绍
May 12 Javascript
一个奇葩的最短的 IE 版本判断JS脚本
May 28 Javascript
js日期范围初始化得到前一个月日期的方法
May 05 Javascript
jquery实现图片左右切换的方法
May 07 Javascript
详细介绍jQuery.outerWidth() 函数具体用法
Jul 20 Javascript
JavaScript正则表达式匹配 div  style标签
Mar 15 Javascript
jquery实现企业定位式导航效果
Jan 01 jQuery
iView框架问题整理小结
Oct 16 Javascript
JavaScript编码小技巧分享
Sep 17 Javascript
javascript cookie的简单应用
Feb 24 #Javascript
javascript的正则匹配方法学习
Feb 24 #Javascript
适用于javascript开发者的Processing.js入门教程
Feb 24 #Javascript
JavaScript设计模式经典之命令模式
Feb 24 #Javascript
JavaScript设计模式经典之工厂模式
Feb 24 #Javascript
JavaScript的设计模式经典之建造者模式
Feb 24 #Javascript
JavaScript的设计模式经典之代理模式
Feb 24 #Javascript
You might like
laravel学习教程之关联模型
2016/07/30 PHP
关于php 高并发解决的一点思路
2017/04/16 PHP
php 数组元素快速去重
2017/05/05 PHP
thinkphp3.2实现在线留言提交验证码功能
2017/07/19 PHP
thinkphp5 加载静态资源路径与常量的方法
2017/12/24 PHP
对采用动态原型方式无法展示继承机制得思考
2009/12/04 Javascript
js传中文参数controller里获取参数乱码问题解决方法
2014/01/03 Javascript
浅谈js图片前端预览之filereader和window.URL.createObjectURL
2016/06/30 Javascript
AngularJs Dependency Injection(DI,依赖注入)
2016/09/02 Javascript
Ajax的概述与实现过程
2016/11/18 Javascript
微信小程序删除处理详解
2017/08/16 Javascript
在vue-cli项目中使用bootstrap的方法示例
2018/04/21 Javascript
js中call()和apply()改变指针问题的讲解
2019/01/17 Javascript
解决vue-cli webpack打包开启Gzip 报错问题
2019/07/24 Javascript
bootstrap-treeview实现多级树形菜单 后台JSON格式如何组织?
2019/07/26 Javascript
浅谈JS中this在各个场景下的指向
2019/08/14 Javascript
阿望教你用vue写扫雷小游戏
2020/01/20 Javascript
javascript实现前端input密码输入强度验证
2020/06/24 Javascript
[39:19]完美世界DOTA2联赛PWL S2 SZ vs LBZS 第二场 11.26
2020/11/30 DOTA
python web基础之加载静态文件实例
2018/03/20 Python
Python3.6实现带有简单界面的有道翻译小程序
2019/04/16 Python
css3翻牌翻数字的示例代码
2020/02/07 HTML / CSS
HomeAway的巴西品牌:Alugue Temporada
2018/04/10 全球购物
墨西哥网上超市:Superama
2018/07/10 全球购物
《小白兔和小灰兔》教学反思
2014/02/18 职场文书
结婚喜宴主持词
2014/03/14 职场文书
成龙洗发水广告词
2014/03/14 职场文书
保密承诺书范文
2014/03/27 职场文书
党课知识竞赛主持词
2014/04/01 职场文书
环保倡议书
2014/04/14 职场文书
珍惜时间演讲稿
2014/05/14 职场文书
廉政文化进校园广播稿
2014/10/20 职场文书
政风行风评议个人心得体会
2014/10/29 职场文书
初中家长评语大全
2014/12/26 职场文书
2015年会计年终工作总结
2015/05/26 职场文书
Python提取PDF指定内容并生成新文件
2021/06/09 Python