| <!DOCTYPE html> |
| <title>form.elements: matches</title> |
| <link rel="author" title="Ms2ger" href="mailto:ms2ger@gmail.com"> |
| <link rel="help" href="https://html.spec.whatwg.org/multipage/#dom-form-elements"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <div id="log"></div> |
| <div id="test"> |
| <form id="form"> |
| <input type="image"> |
| </form> |
| </div> |
| <script> |
| test(function() { |
| assert_equals(document.getElementById("form").elements.length, 0); |
| }, "input type=image should not be present in the form.elements collection") |
| test(function() { |
| var form = document.getElementById("form"); |
| var i = document.createElement("input"); |
| i.name = "2"; |
| form.appendChild(i); |
| var j = document.createElement("input"); |
| j.name = "03"; |
| form.appendChild(j); |
| assert_equals(form.elements[-1], undefined, '[-1]'); |
| assert_equals(form.elements["-1"], undefined, '["-1"]'); |
| assert_equals(form.elements[0], i, '[0]'); |
| assert_equals(form.elements["0"], i, '["0"]'); |
| assert_equals(form.elements[1], j, '[1]'); |
| assert_equals(form.elements["1"], j, '["1"]'); |
| assert_equals(form.elements[2], undefined, '[2]'); |
| assert_equals(form.elements["2"], undefined, '["2"]'); |
| assert_equals(form.elements[03], undefined, '[03]'); |
| assert_equals(form.elements["03"], j, '["03"]'); |
| assert_equals(form.elements.item(-1), null, 'item(-1)'); |
| assert_equals(form.elements.item(0), i, 'item(0)'); |
| assert_equals(form.elements.item(1), j, 'item(1)'); |
| assert_equals(form.elements.item(2), null, 'item(2)'); |
| assert_equals(form.elements.namedItem("2"), i, 'namedItem("2")'); |
| assert_equals(form.elements.namedItem("03"), j, 'namedItem("03")'); |
| assert_equals(form.elements.namedItem("3"), null, 'namedItem("3")'); |
| assert_array_equals(form.elements, [i, j]); |
| form.removeChild(i); |
| form.removeChild(j); |
| }, "form.elements should include elements whose name starts with a number"); |
| </script> |