When serializing text, encode all line breaks as CRLF pairs per the application/x...
authorDave Methvin <dave.methvin@gmail.com>
Fri, 31 Dec 2010 19:56:51 +0000 (13:56 -0600)
committerColin Snover <github.com@zetafleet.com>
Fri, 31 Dec 2010 19:56:51 +0000 (13:56 -0600)
src/ajax.js
test/unit/ajax.js

index 5e58a0f..8670900 100644 (file)
@@ -107,9 +107,9 @@ jQuery.fn.extend({
                                null :
                                jQuery.isArray(val) ?
                                        jQuery.map( val, function(val, i){
                                null :
                                jQuery.isArray(val) ?
                                        jQuery.map( val, function(val, i){
-                                               return {name: elem.name, value: val};
+                                               return {name: elem.name, value: val.replace(/\r?\n/g, "\r\n")};
                                        }) :
                                        }) :
-                                       {name: elem.name, value: val};
+                                       {name: elem.name, value: val.replace(/\r?\n/g, "\r\n")};
                }).get();
        }
 });
                }).get();
        }
 });
index 4019eb7..270d32f 100644 (file)
@@ -650,20 +650,20 @@ test("serialize()", function() {
                'Check input serialization as query string');
 
        equals( jQuery('#testForm').serialize(),
                'Check input serialization as query string');
 
        equals( jQuery('#testForm').serialize(),
-               'T3=%3F%0AZ&H1=x&H2=&PWD=&T1=&T2=YES&My+Name=me&S1=abc&S3=YES&S4=',
+               'T3=%3F%0D%0AZ&H1=x&H2=&PWD=&T1=&T2=YES&My+Name=me&S1=abc&S3=YES&S4=',
                'Check form serialization as query string');
 
        equals( jQuery('#testForm :input').serialize(),
                'Check form serialization as query string');
 
        equals( jQuery('#testForm :input').serialize(),
-               'T3=%3F%0AZ&H1=x&H2=&PWD=&T1=&T2=YES&My+Name=me&S1=abc&S3=YES&S4=',
+               'T3=%3F%0D%0AZ&H1=x&H2=&PWD=&T1=&T2=YES&My+Name=me&S1=abc&S3=YES&S4=',
                'Check input serialization as query string');
 
        equals( jQuery('#form, #testForm').serialize(),
                'Check input serialization as query string');
 
        equals( jQuery('#form, #testForm').serialize(),
-               "action=Test&radio2=on&check=on&hidden=&foo%5Bbar%5D=&name=name&search=search&email=dave%40jquery.com&number=43&select1=&select2=3&select3=1&select3=2&select5=3&T3=%3F%0AZ&H1=x&H2=&PWD=&T1=&T2=YES&My+Name=me&S1=abc&S3=YES&S4=",
+               "action=Test&radio2=on&check=on&hidden=&foo%5Bbar%5D=&name=name&search=search&email=dave%40jquery.com&number=43&select1=&select2=3&select3=1&select3=2&select5=3&T3=%3F%0D%0AZ&H1=x&H2=&PWD=&T1=&T2=YES&My+Name=me&S1=abc&S3=YES&S4=",
                'Multiple form serialization as query string');
 
   /* Temporarily disabled. Opera 10 has problems with form serialization.
        equals( jQuery('#form, #testForm :input').serialize(),
                'Multiple form serialization as query string');
 
   /* Temporarily disabled. Opera 10 has problems with form serialization.
        equals( jQuery('#form, #testForm :input').serialize(),
-               "action=Test&radio2=on&check=on&hidden=&foo%5Bbar%5D=&name=name&search=search&email=dave%40jquery.com&number=43&select1=&select2=3&select3=1&select3=2&T3=%3F%0AZ&H1=x&H2=&PWD=&T1=&T2=YES&My+Name=me&S1=abc&S3=YES&S4=",
+               "action=Test&radio2=on&check=on&hidden=&foo%5Bbar%5D=&name=name&search=search&email=dave%40jquery.com&number=43&select1=&select2=3&select3=1&select3=2&T3=%3F%0D%0AZ&H1=x&H2=&PWD=&T1=&T2=YES&My+Name=me&S1=abc&S3=YES&S4=",
                'Mixed form/input serialization as query string');
        */
        jQuery("#html5email, #html5number").remove();
                'Mixed form/input serialization as query string');
        */
        jQuery("#html5email, #html5number").remove();