diff --git a/templates/main.js b/templates/main.js index 62e5297b..bd0a44c6 100755 --- a/templates/main.js +++ b/templates/main.js @@ -282,7 +282,7 @@ function onCaptchaLoad(renderer) { if (widgetId === null) { console.error('Could not render captcha!'); } - document.addEventListener('post', function(e) { + document.addEventListener('afterdopost', function(e) { // User posted! Reset the captcha. renderer.reset(widgetId); }); @@ -352,7 +352,8 @@ function doPost(form) { saved[document.location] = form.elements['body'].value; sessionStorage.body = JSON.stringify(saved); - document.dispatchEvent(new Event('post')); + // Needs to be delayed by at least 1 frame, otherwise it may reset the form (read captcha) fields before they're sent. + setTimeout(() => document.dispatchEvent(new Event('afterdopost'))); return form.elements['body'].value != "" || (form.elements['file'] && form.elements['file'].value != "") || (form.elements.file_url && form.elements['file_url'].value != ""); }