diff options
Diffstat (limited to 'js/util.js')
-rw-r--r-- | js/util.js | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/js/util.js b/js/util.js index 73fcf37be..ed6a781f7 100644 --- a/js/util.js +++ b/js/util.js @@ -184,30 +184,33 @@ var SN = { // StatusNet form.removeClass(SN.C.S.Processing); $('#'+form_id+' #'+SN.C.S.NoticeActionSubmit).removeClass(SN.C.S.Disabled); $('#'+form_id+' #'+SN.C.S.NoticeActionSubmit).removeAttr(SN.C.S.Disabled, SN.C.S.Disabled); + $('#'+form_id+' .form_response').remove(); if (textStatus == 'timeout') { - form.append('<p class="error>Sorry! We had trouble sending your notice. The servers are overloaded. Please try again, and contact the site administrator if this problem persists.</p>'); + form.append('<p class="form_response error">Sorry! We had trouble sending your notice. The servers are overloaded. Please try again, and contact the site administrator if this problem persists.</p>'); } else { if ($('.'+SN.C.S.Error, xhr.responseXML).length > 0) { 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="form_response 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>'); } } } }, success: function(data, textStatus) { + $('#'+form_id+' .form_response').remove(); var result; if ($('#'+SN.C.S.Error, data).length > 0) { result = document._importNode($('p', data)[0], true); result = result.textContent || result.innerHTML; - form.append('<p class="error">'+result+'</p>'); + form.append('<p class="form_response error">'+result+'</p>'); } else { if($('body')[0].id == 'bookmarklet') { @@ -217,7 +220,7 @@ var SN = { // StatusNet if ($('#'+SN.C.S.CommandResult, data).length > 0) { result = document._importNode($('p', data)[0], true); result = result.textContent || result.innerHTML; - form.append('<p class="success">'+result+'</p>'); + form.append('<p class="form_response success">'+result+'</p>'); } else { var notices = $('#notices_primary .notices'); @@ -245,12 +248,10 @@ var SN = { // StatusNet else { result = document._importNode($('title', data)[0], true); result_title = result.textContent || result.innerHTML; - form.append('<p class="success">'+result_title+'</p>'); + form.append('<p class="form_response success">'+result_title+'</p>'); } } - $('#'+form_id+' #'+SN.C.S.NoticeDataText).val(''); - $('#'+form_id+' #'+SN.C.S.NoticeDataAttach).val(''); - $('#'+form_id+' #'+SN.C.S.NoticeInReplyTo).val(''); + $('#'+form_id).resetForm(); $('#'+form_id+' #'+SN.C.S.NoticeDataAttachSelected).remove(); SN.U.FormNoticeEnhancements($('#'+form_id)); } |