<!DOCTYPE html> <meta charset=utf-8> <title>input type reset</title> <link rel="author" title="Denis Ah-Kang" href="mailto:denis@w3.org"> <link rel=help href="https://html.spec.whatwg.org/multipage/#reset-button-state-(type=reset)"> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <div id="log"></div> <form> <input type=text id=input1 value="foobar"> <input type=text id=input2> <input type=reset id=r1> </form> <input type=text id=input3 value="barfoo"> <table> <form> <tr> <td> <input type=text id=input4 value="foobar"> <input type=reset id=r2> </td> </tr> </form> </table> <div> <form> <input type=text id=input5 value="foobar"> </div> <input type=reset id=r3> </form> <div> <form> <input type=reset id=r4> </div> <input type=text id=input6 value="foobar"> </form> <form id=form5> <input type=reset id=r5> </form> <input form=form5 type=text id=input7 value="foobar"> <form id=form6> <input type=text id=input8 value="foobar"> </form> <input type=reset form=form6 id=r6> <script> var input1 = document.getElementById('input1'), input2 = document.getElementById('input2'), input3 = document.getElementById('input3'), input7 = document.getElementById('input7'), input8 = document.getElementById('input8'), r1 = document.getElementById('r1'); test(function(){ assert_equals(input1.value, "foobar"); assert_equals(input2.value, ""); assert_equals(input3.value, "barfoo"); input1.value = "foobar1"; input2.value = "notempty"; input3.value = "barfoo1"; assert_equals(input1.value, "foobar1"); assert_equals(input2.value, "notempty"); assert_equals(input3.value, "barfoo1"); r1.click(); assert_equals(input1.value, "foobar"); assert_equals(input2.value, ""); assert_equals(input3.value, "barfoo1"); }, "reset button only resets the form owner"); test(function(){ assert_false(r1.willValidate); }, "the element is barred from constraint validation"); test(function(){ assert_equals(input1.value, "foobar"); assert_equals(input2.value, ""); assert_equals(input3.value, "barfoo1"); r1.disabled = true; r1.click(); assert_equals(input1.value, "foobar"); assert_equals(input2.value, ""); assert_equals(input3.value, "barfoo1"); }, "clicking on a disabled reset does nothing"); function testReset(inputId, buttonId) { var inp = document.getElementById(inputId); assert_equals(inp.value, "foobar"); inp.value = "barfoo"; assert_equals(inp.value, "barfoo"); document.getElementById(buttonId).click(); assert_equals(inp.value, "foobar"); } test(function(){ testReset("input4", "r2"); testReset("input5", "r3"); testReset("input6", "r4"); }, "reset button resets controls associated with their form using the form element pointer"); test(function(){ testReset("input7", "r5"); }, "reset button resets controls associated with a form using the form attribute"); test(function(){ testReset("input8", "r6"); }, "reset button associated with a form using the form attribute resets all the form's controls"); </script>