summaryrefslogtreecommitdiff
path: root/js
diff options
context:
space:
mode:
authorSarven Capadisli <csarven@status.net>2009-12-07 09:55:12 +0000
committerSarven Capadisli <csarven@status.net>2009-12-07 09:55:12 +0000
commitaf0f905e2487bd00a0c888f1ddc704fb8ce44731 (patch)
treedd36c74419d6a3fbad394be3aca23242a22f7f6e /js
parent49005881bd31a022e59574277866aada41e4b76d (diff)
If the XHR error suggests that the xhr.status is 0 (i.e., it didn't
receive an XHR object as expected), threat it as a success like HTTP 20x or 30x because the notice most likely went through. jquery.form.js (for file uploads) and meteor.js both use an iframe and they (somehow) appear to be in conflict. Notice always goes through, however, xhr.status is 0. Further investigation is needed.
Diffstat (limited to 'js')
-rw-r--r--js/util.js9
1 files changed, 5 insertions, 4 deletions
diff --git a/js/util.js b/js/util.js
index 73fcf37be..259d56659 100644
--- a/js/util.js
+++ b/js/util.js
@@ -192,12 +192,13 @@ var SN = { // StatusNet
form.append(document._importNode($('.'+SN.C.S.Error, xhr.responseXML)[0], true));
}
else {
- if(jQuery.inArray(parseInt(xhr.status), SN.C.I.HTTP20x30x) < 0) {
- form.append('<p class="error>(Sorry! We had trouble sending your notice ('+xhr.status+' '+xhr.statusText+'). Please report the problem to the site administrator if this happens again.</p>');
+ if (parseInt(xhr.status) === 0 || jQuery.inArray(parseInt(xhr.status), SN.C.I.HTTP20x30x) >= 0) {
+ $('#'+form_id).resetForm();
+ $('#'+form_id+' #'+SN.C.S.NoticeDataAttachSelected).remove();
+ SN.U.FormNoticeEnhancements($('#'+form_id));
}
else {
- $('#'+form_id+' #'+SN.C.S.NoticeDataText).val('');
- SN.U.FormNoticeEnhancements($('#'+form_id));
+ form.append('<p class="error>(Sorry! We had trouble sending your notice ('+xhr.status+' '+xhr.statusText+'). Please report the problem to the site administrator if this happens again.</p>');
}
}
}