diff options
author | Vincent Tam <sere@live.hk> | 2019-05-21 15:21:57 +0300 |
---|---|---|
committer | Vincent Tam <sere@live.hk> | 2019-05-21 15:22:10 +0300 |
commit | 7c3ae011be271c9669a086c0a222b1ebfab06f38 (patch) | |
tree | eccbf4d159e0138f4b18f585fb69f48d4623915c /assets | |
parent | b7b83075debcbb78c4331056bae3a7560a2dbdac (diff) |
Nettoyage après une submission réussie
Diffstat (limited to 'assets')
-rw-r--r-- | assets/js/staticman.js | 49 |
1 files changed, 23 insertions, 26 deletions
diff --git a/assets/js/staticman.js b/assets/js/staticman.js index e205cd9..efc5aad 100644 --- a/assets/js/staticman.js +++ b/assets/js/staticman.js @@ -6,7 +6,9 @@ $(document).ready(function() { $('.js-form').submit(function () { var form = this; - $(form).addClass('disabled'); + $(form).disabled = true; + $('input[type="submit"]:enabled').addClass('hidden'); // hide "submit" + $('input[type="submit"]:disabled').removeClass('hidden'); // show "submitted" $.ajax({ type: $(this).attr('method'), @@ -14,18 +16,14 @@ $(document).ready(function() { data: $(this).serialize(), contentType: 'application/x-www-form-urlencoded', success: function (data) { - $('input[type="submit"]').addClass('hidden'); - $('input[type="submit"]:disabled').removeClass('hidden'); showAlert('success'); - setTimeout(function(){ clearForm() }, 3000); - $(form).removeClass('disabled'); + setTimeout(function(){ clearForm() }, 3000); // display success message for 3s + $(form).disabled = false; }, error: function (err) { - $('input[type="submit"]').removeClass('hidden'); - $('input[type="submit"]:disabled').addClass('hidden'); console.log(err); showAlert('failed'); - $(form).removeClass('disabled'); + $(form).disabled = false; } }); @@ -34,36 +32,35 @@ $(document).ready(function() { function showAlert(msg) { if (msg == 'success') { - $('.js-form .submit-success').removeClass('hidden'); - $('.js-form .submit-failed').addClass('hidden'); + $('.js-form .submit-success').removeClass('hidden'); // show submit success message + $('.js-form .submit-failed').addClass('hidden'); // hide submit failed message } else { - $('.js-form .submit-success').addClass('hidden'); - $('.js-form .submit-failed').removeClass('hidden'); + $('.js-form .submit-success').addClass('hidden'); // hide submit success message + $('.js-form .submit-failed').removeClass('hidden'); // show submit failed message } + $('input[type="submit"]:enabled').removeClass('hidden'); // show "submit" + $('input[type="submit"]:disabled').addClass('hidden'); // hide "submitted" } function clearForm() { - $('input[name="fields[replyThread]"]').val(''); - $('input[name="fields[replyID]"]').val(''); - $('input[name="fields[replyName]"]').val(''); - $('.reply-notice-text').text(''); - $('.reply-notice').addClass('hidden'); - $('.js-form .submit-success').addClass('hidden'); - $('.js-form .submit-failed').addClass('hidden'); - $('input[type="submit"]').removeClass('hidden'); - $('input[type="submit"]:disabled').addClass('hidden'); + $('.js-form input:not(.button)').val(''); // empty all text & hidden fields + $('.js-form textarea').val(''); // empty text area + $('.js-form .reply-notice-text').text(''); // reset reply target + $('.js-form .reply-notice').addClass('hidden'); // hide reply target display + $('.js-form .submit-success').addClass('hidden'); // hide submission status + $('.js-form .submit-failed').addClass('hidden'); // hide submission status } // record reply target when "reply to this comment" is pressed $('article.static-comment').on('click', 'a.reply-btn', function (evt){ var cmt = $(evt.delegateTarget); - $('input[name="fields[replyThread]"]').val(this.title); - $('input[name="fields[replyID]"]').val(cmt.attr("id")); + $('.js-form input[name="fields[replyThread]"]').val(this.title); + $('.js-form input[name="fields[replyID]"]').val(cmt.attr("id")); authorTag = cmt.find('.comment-author'); replyName = authorTag.text(); - $('input[name="fields[replyName]"]').val(replyName); - $('.reply-notice').removeClass('hidden'); - $('.reply-notice-text').text('↷\xa0' + replyName); + $('.js-form input[name="fields[replyName]"]').val(replyName); + $('.js-form .reply-notice').removeClass('hidden'); + $('.js-form .reply-notice-text').text('↷\xa0' + replyName); }); // clear form when reset button is clicked |