`
zhengcaihai529
  • 浏览: 47347 次
  • 性别: 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.js下载

    jquery.form.js jquery.form.js

    jquery-form.js

    《jQuery Form Plugin详解及其在异步表单提交与文件上传中的应用》 jQuery Form Plugin是一款强大的JavaScript库,专为了解决使用jQuery进行异步表单提交(Ajax Form Submission)和文件上传的问题。它通过扩展...

    jquery.form.js和使用说明

    《jQuery Form Plugin的详解与应用》 在Web开发中,jQuery是一个极其强大的JavaScript库,它极大地简化了DOM操作,事件处理以及Ajax交互等任务。而jQuery Form Plugin是jQuery的一个扩展,专门为表单处理提供了丰富...

    jQuery Form Plugin

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

    jqueryform的guangwang,wuxia

    标题 "jqueryform的guangwang,wuxia" 暗示了我们正在讨论关于 jQuery Form 插件的一个特定主题,可能涉及到使用此插件在网页上实现动态交互或表单验证的功能。描述中的 "jqueryform的guangwangjqueryform的...

    jQuery.form.js

    《jQuery Form Plugin 3.51.0:深入解析与应用》 jQuery Form Plugin是一款广泛应用于Web开发中的JavaScript库,其主要目标是简化HTML表单的处理,包括提交、异步上传以及各种验证功能。这款插件的核心在于它提供了...

    Form Plugin API

    关于“jqueryform”,这很可能是压缩包中包含的文件,它是jQuery Form Plugin的具体实现。jQuery是一个广泛使用的JavaScript库,它简化了DOM操作、事件处理、动画和Ajax交互。jQuery Form Plugin是基于jQuery的一个...

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

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

    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 深入解析与应用》 在Web开发中,jQuery库以其简洁的API和强大的功能深受开发者喜爱,而`jquery.form.js`则是jQuery的一个重要插件,它扩展了jQuery对表单处理的功能,使得表单的提交、异步...

    jquery异步提交form表单

    在IT行业中,jQuery是一个非常流行的...通过使用jQuery Form Plugin和`jquery.form.js`,我们可以轻松实现这一功能,同时也可以根据需要进行定制和扩展。学习并掌握这一技术,对于提升我们的前端开发技能至关重要。

    jquery form ajax 插件

    1. 插件介绍:jQuery Form Plugin是由Malsup开发的一款插件,它扩展了jQuery的功能,允许我们轻松地使用AJAX方式处理表单提交,实现无刷新的数据交互。这个插件不仅支持GET和POST提交,还支持文件上传,是前端开发中...

    jQuery验证控件 Validation Plugin - v1.14.0汉化及附带案例

    本文将详细介绍jQuery Validation Plugin v1.14.0的汉化版本及其应用案例。 jQuery Validation Plugin是jQuery库的一个扩展,主要用于处理HTML表单验证。它包含了多种内置的验证规则和错误消息,可以轻松实现对用户...

    jquery.form提交方式

    《jQuery Form 提交方式详解》 在Web开发中,jQuery库极大地简化了JavaScript操作,特别是在处理表单提交方面。本文将深入探讨jQuery中处理表单提交的多种方式,结合源码解析,帮助开发者更好地理解和应用。 一、...

    jquery.formwizard-3.0.5

    `jquery.formwizard-3.0.5` 是一个基于 jQuery 的插件,专门设计用于创建向导式的表单。在Web开发中,向导式表单通常用于分步骤引导用户填写复杂或较长的表单,以提高用户体验和数据输入的效率。通过这个插件,...

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

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

Global site tag (gtag.js) - Google Analytics