`
zhengcaihai529
  • 浏览: 46380 次
  • 性别: Icon_minigender_1
  • 来自: 福建
社区版块
存档分类
最新评论

关于jquery form plugin的一点改进

阅读更多

form插件中的formToArray 的方法,原来处理方式var els = (semantic ? form.getElementsByTagName('*') : form.elements),导致自身没有子元素的可输入或可选的html标签不能获取到对应的key/value值.

经过修改后,例如

$("input").formToArray(false)才可获取得所有的input的key/value值。

 

附:

$.fn.formToArray = function(semantic) {
    var a = [];
    if (this.length == 0) return a;
    var form = this[0];

   //update by zhengcaihai 增加没有子元素的情况
  var els = (semantic ? form.getElementsByTagName('*') : form.elements)||this 

   if (!els) return a;
    for(var i=0, max=els.length; i < max; i++) {
        var el = els[i];
        var n = el.name;
        if (!n) continue;
        if (semantic && form.clk && el.type == "image") {
            // handle image inputs on the fly when semantic == true
            if(!el.disabled && form.clk == el)
                a.push({name: n+'.x', value: form.clk_x}, {name: n+'.y', value: form.clk_y});
            continue;
        }

        var v = $.fieldValue(el, true);
        if (v && v.constructor == Array) {
            for(var j=0, jmax=v.length; j < jmax; j++)
                a.push({name: n, value: v[j]});
        }
        else if (v !== null && typeof v != 'undefined')
            a.push({name: n, value: v});
    }

    if (!semantic && form.clk) {
        // input type=='image' are not found in elements array! handle them here
        var inputs = form.getElementsByTagName("input");
        for(var i=0, max=inputs.length; i < max; i++) {
            var input = inputs[i];
            var n = input.name;
            if(n && !input.disabled && input.type == "image" && form.clk == input)
                a.push({name: n+'.x', value: form.clk_x}, {name: n+'.y', value: form.clk_y});
        }
    }
    return a;
};

分享到:
评论

相关推荐

    jQuery Form Plugin

    jQuery Form Plugin 能够让你简洁的将以HTML形式提交的表单升级成采用AJAX技术提交的表单。 插件里面主要的方法, ajaxForm 和 ajaxSubmit, 能够从form组件里采集信息确定如何处理表单的提交过程。两个方法都支持众多...

    jQuery表单插件jquery.form.js(示例源码)

    jQuery Form Plugin能够让你简洁的将以HTML形式提交的表单升级成采用AJAX技术提交的表单。 插件里面主要的方法, ajaxForm和ajaxSubmit,能够从form组件里采集信息确定如何处理表单的提交过程。 两个方法都支持众多的...

    jQuery.form.js

    jQuery Form Plugin version: 3.51.0

    jquery-form.js

    js使用ajax异步提交图片所需引入文件jquery-form.js

    jquery.form.min.js(4.2.2version,最新版本)

    * jQuery Form Plugin * version: 4.2.2 * Requires jQuery v1.7.2 or later * Project repository: https://github.com/jquery-form/form * Copyright 2017 Kevin Morris * Copyright 2006 M. Alsup * Dual ...

    jquery.form.js

    * jQuery Form Plugin * version: 3.51.0-2014.06.20 * Requires jQuery v1.5 or later * Copyright (c) 2014 M. Alsup * Examples and documentation at: http://malsup.com/jquery/form/ * Project ...

    jquery-form-validator-plugin:Jquery 表单验证插件

    jquery-form-validator-plugin :用于字段验证。 使用简单的节点 js 服务器进行设置 下面是关于演示应用程序的草稿。 前端框架草案: Bootstrap CSS Google Fonts DOM / UI JQuery [jquery-1.10.2] Front end ...

    jquery.form.js version 3.36.0

    * jQuery Form Plugin * version: 3.36.0-2013.06.16 * @requires jQuery v1.5 or later * Copyright (c) 2013 M. Alsup * Examples and documentation at: http://malsup.com/jquery/form/ * Project ...

    jQuery-Form:jQuery 表单插件,版本

    jQuery 表单jQuery Form Plugin,版本:3.50.0-2014.02.05,需要jQuery v1.5或更高版本

    jQuery form插件之formDdata参数校验表单及验证后提交

    Form Plugin API 里提供了很多有用的方法可以让你轻松的处理表单里的数据和表单的提交过程,通过本文给大家介绍jQuery form插件之formDdata参数校验表单及验证后提交的相关知识,感兴趣的朋友一起学习吧

    jquery.form.js 无刷新异步提交表单js文件

    jquery.form.js 无刷新异步提交表单js文件 /** * jQuery Form Plugin * version: 3.51.0-2014.06.20 * Requires jQuery v1.5 or later * Copyright (c) 2014 M. Alsup **/

    jQueryFormPlugin允许你轻松和不显眼地升级HTML表单以使用AJAX

    jQuery Form Plugin允许你轻松和不显眼地升级HTML表单以使用AJAX。 主要方法,ajaxForm和ajaxSubmit,从表单元素收集信息,以确定如何管理提交过程。 这两种方法都支持许多选项,使您可以完全控制数据的提交方式。

    jQuery Validation Plugin验证插件手动验证

    jquery.validate是jquery旗下的一个验证框架,借助jquery的优势,我们可以迅速验证一些常见的输入,并且可以自己扩充自己的验证方法,并且对国际化也有很好的支持。 正常的验证模式如下: &lt;form id="ff" action=...

    formPlugin:一个基于jQuery && json2的表单数据json方式提交的插件

    formPlugin based on jQuery and json2.Simple form submit plugin based on jQuery 1.8.x && json2.jsSupport Firefox, Chrome, IE 8 && high version of IEThis plugin build under utf-8 encoding environmentYou...

    The best jQuery plugin to validate form fields. Designed to use with Bootstrap 3

    Web开发的我们,表单验证是再常见不过的需求了。友好的错误提示能增加用户体验。The best jQuery plugin to validate form fields. Designed to use with Bootstrap 3

    jquery提交form表单时禁止重复提交的方法

    代码如下:$(document).ready(function() { $(‘form’).submit(function() { if(typeof jQuery.data(this, “disabledOnSubmit”) == ‘undefined’) { jQuery.data(this, “disabledOnSubmit”, { submited: ...

    jquery-validate

    jQuery form validate plugin,包含jQuery,form,validate JS库和Demo

    form-checker:jQuery插件,可帮助在提交之前检查表单值

    jQuery formChecker Plugin 概述 jQuery formChecker Plugin是一个表单验证的插件,来源于实际的项目,实现上参考了工作中用到的后端验证。 快速开始 引入jQuery,1.4版本以上。 引入jquery.formChecker.js。 对要...

    jQuery form插件之ajaxForm()和ajaxSubmit()的可选参数项对象

    Form Plugin API 里提供了很多有用的方法可以让你轻松的处理表单里的数据和表单的提交过程。 测试环境:部署到Tomcat中的web项目。 本文演示的是:jQuery form插件之ajaxForm()和ajaxSubmit()的可选参数项对象 ajax...

Global site tag (gtag.js) - Google Analytics