Bug 9113: fix handling of certain characters by item batch modification tool
If you're using the batch modification tool and entering a call number like "E+ 123 ABC", the tool removes the + and puts a space in its place, e.g., "E 123 ABC" This is because the form is posted via Ajax by background-job-progressbar.js. Values are URI-encoded using escape(), but this method does not escape some characters: * @ - _ + . / Also, "+" is considered as a space in a URI. This patch replaces escape() by encodeURIComponent() which encodes every character. Test plan : Perform an items batch modification by setting '* @ - _ + . /' in a field (notes for example) and see that all characters are saved correctly. Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
This commit is contained in:
parent
bed99a8516
commit
0397e7ea64
1 changed files with 2 additions and 2 deletions
|
@ -45,12 +45,12 @@ function submitBackgroundJob(f) {
|
||||||
$(':input', f).each(function() {
|
$(':input', f).each(function() {
|
||||||
if (this.type == 'radio' || this.type == 'checkbox') {
|
if (this.type == 'radio' || this.type == 'checkbox') {
|
||||||
if (this.checked) {
|
if (this.checked) {
|
||||||
inputs.push(this.name + '=' + escape(this.value));
|
inputs.push(this.name + '=' + encodeURIComponent(this.value));
|
||||||
}
|
}
|
||||||
} else if (this.type == 'button') {
|
} else if (this.type == 'button') {
|
||||||
; // do nothing
|
; // do nothing
|
||||||
} else {
|
} else {
|
||||||
inputs.push(this.name + '=' + escape(this.value));
|
inputs.push(this.name + '=' + encodeURIComponent(this.value));
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in a new issue