submit-dialog-close-event.html (1194B)
1 <!DOCTYPE html> 2 <link rel=author href="mailto:jarhar@chromium.org"> 3 <link rel=author href="mailto:falken@chromium.org"> 4 <link rel=help href="https://html.spec.whatwg.org/multipage/interactive-elements.html#the-dialog-element"> 5 <link rel=help href="https://bugs.chromium.org/p/chromium/issues/detail?id=304827"> 6 <script src="/resources/testharness.js"></script> 7 <script src="/resources/testharnessreport.js"></script> 8 9 <dialog> 10 <form method="dialog"> 11 <input id="goodbye" type="submit" value="Goodbye"> 12 <input id="hello" type="submit" value="Hello"> 13 </form> 14 </dialog> 15 16 <script> 17 async_test(t => { 18 const dialog = document.querySelector('dialog'); 19 dialog.show(); 20 dialog.addEventListener('close', t.step_func(() => { 21 assert_false(dialog.open); 22 assert_equals(dialog.returnValue, 'Goodbye'); 23 24 dialog.show(); 25 dialog.addEventListener('close', t.step_func_done(() => { 26 assert_false(dialog.open); 27 assert_equals(dialog.returnValue, 'Hello'); 28 })); 29 document.querySelector('#hello').click(); 30 }), {once: true}); 31 32 document.querySelector('#goodbye').click(); 33 }, 'Tests submitting a dialog on a close event triggered by a previous submission.'); 34 </script>