论坛首页 Web前端技术论坛

让jQuery.form.js支持中文

浏览 6162 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-02-27  

 

在后台JAVA中对参数对应的转码:
java代码:
java.net.URLDecoder.decode(request.getParameter("name"), "UTF-8");

 

把jquery.js 中的param中的

做一下encodeURIComponent就可以了

修改如下
// Serialize an array of form elements or a set of
    // key/values into a query string
    param: function( a ) {
        var s = [];

        // If an array was passed in, assume that it is an array
        // of form elements
        if ( a.constructor == Array || a.jquery )
            // Serialize the form elements
            jQuery.each( a, function(){
                s.push( encodeURIComponent(this.name) + "=" + encodeURIComponent(encodeURIComponent( this.value )) );
            });

        // Otherwise, assume that it's an object of key/value pairs
        else
            // Serialize the key/values
            for ( var j in a )
                // If the value is an array then the key names need to be repeated
                if ( a[j] && a[j].constructor == Array )
                    jQuery.each( a[j], function(){
                        s.push( encodeURIComponent(j) + "=" + encodeURIComponent(encodeURIComponent( this )) );
                    });
                else
                    s.push( encodeURIComponent(j) + "=" + encodeURIComponent(encodeURIComponent( jQuery.isFunction(a[j]) ? a[j]() : a[j] )) );

        // Return the resulting serialization
        return s.join("&").replace(/%20/g, "+");
    }

论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics