When serializing text, encode all line breaks as CRLF pairs per the application/x-www-form-urlencoded specification. Fixes #6876.
This commit is contained in:
parent
7e2810fa95
commit
eed3803c98
|
@ -107,9 +107,9 @@ jQuery.fn.extend({
|
||||||
null :
|
null :
|
||||||
jQuery.isArray(val) ?
|
jQuery.isArray(val) ?
|
||||||
jQuery.map( val, function(val, i){
|
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();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -650,20 +650,20 @@ test("serialize()", function() {
|
||||||
'Check input serialization as query string');
|
'Check input serialization as query string');
|
||||||
|
|
||||||
equals( jQuery('#testForm').serialize(),
|
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');
|
'Check form serialization as query string');
|
||||||
|
|
||||||
equals( jQuery('#testForm :input').serialize(),
|
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');
|
'Check input serialization as query string');
|
||||||
|
|
||||||
equals( jQuery('#form, #testForm').serialize(),
|
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');
|
'Multiple form serialization as query string');
|
||||||
|
|
||||||
/* Temporarily disabled. Opera 10 has problems with form serialization.
|
/* Temporarily disabled. Opera 10 has problems with form serialization.
|
||||||
equals( jQuery('#form, #testForm :input').serialize(),
|
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');
|
'Mixed form/input serialization as query string');
|
||||||
*/
|
*/
|
||||||
jQuery("#html5email, #html5number").remove();
|
jQuery("#html5email, #html5number").remove();
|
||||||
|
|
Loading…
Reference in a new issue