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插件
Mar 29 jQuery
jQuery获取table下某一行某一列的值实现代码
Apr 07 jQuery
详解jquery选择器的原理
Aug 01 jQuery
jQuery Easyui Treegrid实现显示checkbox功能
Aug 08 jQuery
jQuery实现base64前台加密解密功能详解
Aug 29 jQuery
jquery实现图片跟随鼠标的实例
Oct 17 jQuery
jQuery+ajax实现动态添加表格tr td功能示例
Apr 23 jQuery
jquery实现的简单轮播图功能【适合新手】
Aug 17 jQuery
JS/jQuery实现超简单的Table表格添加,删除行功能示例
Jul 31 jQuery
jQuery 选择器用法基础入门示例
Jan 04 jQuery
jQuery实现移动端图片上传预览组件的方法分析
May 01 jQuery
使用jquery实现轮播图效果
Jan 02 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
【动漫杂谈】关于《请在T台上微笑》
2020/03/03 日漫
PHP中CURL的CURLOPT_POSTFIELDS参数使用细节
2014/03/17 PHP
PHP中spl_autoload_register()和__autoload()区别分析
2014/05/10 PHP
php中time()与$_SERVER[REQUEST_TIME]用法区别
2014/11/19 PHP
JSQL 基于客户端的成绩统计实现方法
2010/05/05 Javascript
jQuery 版元素拖拽原型代码
2011/04/25 Javascript
jquery制作select列表双向选择示例代码
2014/09/02 Javascript
JS简单操作select和dropdownlist实例
2014/11/26 Javascript
javascript自定义in_array()函数实现方法
2015/08/03 Javascript
jQuery过滤HTML标签并高亮显示关键字的方法
2015/08/07 Javascript
js动态添加的DIV中的onclick事件简单实例
2016/07/25 Javascript
jquery中绑定事件的异同
2017/02/28 Javascript
vue实现一个移动端屏蔽滑动的遮罩层实例
2017/06/08 Javascript
详解基于Node.js的微信JS-SDK后端接口实现代码
2017/07/15 Javascript
angularjs实现柱状图动态加载的示例
2017/12/11 Javascript
Rollup处理并打包JS文件项目实例代码
2018/05/31 Javascript
详解vue填坑之解决部分浏览器不支持pushState方法
2018/07/12 Javascript
angular4自定义表单控件[(ngModel)]的实现
2018/11/23 Javascript
Vue项目实现简单的权限控制管理功能
2019/07/17 Javascript
超简单的微信小程序轮播图
2019/11/22 Javascript
python正则表达式re模块详细介绍
2014/05/29 Python
用PyQt进行Python图形界面的程序的开发的入门指引
2015/04/14 Python
Python编程实现使用线性回归预测数据
2017/12/07 Python
Windows 7下Python Web环境搭建图文教程
2018/03/20 Python
Python 复平面绘图实例
2019/11/21 Python
Python进程间通信multiprocess代码实例
2020/03/18 Python
使用html2canvas将页面转成图并使用用canvas2image下载
2019/04/04 HTML / CSS
BONIA波尼亚新加坡官网:皮革手袋,鞋类和配件
2016/08/25 全球购物
Raleigh兰令自行车美国官网:英国凤头牌自行车
2018/01/08 全球购物
《北大荒的秋天》教学反思
2014/04/14 职场文书
《记金华的双龙洞》教学反思
2014/04/19 职场文书
考试作弊检讨
2015/01/27 职场文书
标会主持词应该怎么写?
2019/08/15 职场文书
基于Python的EasyGUI学习实践
2021/05/07 Python
mysq启动失败问题及场景分析
2021/07/15 MySQL
电脑只能进入安全模式无法正常启动的解决办法
2022/04/08 数码科技