| <html> |
| <head> |
| <script> |
| function test() { |
| if (window.testRunner) |
| testRunner.dumpAsText(); |
| |
| var f = window.document.forms[0]; |
| |
| var e = document.createElement('input'); |
| e.type = 'text' |
| e.name = 'y'; |
| e.value = 'y'; |
| f.replaceChild(e, f.y); |
| |
| for (var i = 0; i < f.elements.length; i++) { |
| var line = document.createElement("div"); |
| line.appendChild(document.createTextNode(f.elements[i].name)); |
| document.getElementById("result").appendChild(line); |
| } |
| } |
| </script> |
| <body onload="test()"> |
| <p>This test checks that the elements array of a form element returns the elements in document order |
| rather than order of insertion into the document. Older versions of WebKit returned the elements in |
| order of insertion.</p> |
| <p>If the test works properly, the text at the bottom will most likely say "x" then "y" then "z" in that order. |
| If it fails, it will most likely say "x", then "z", then "y".</p> |
| <hr> |
| <p> |
| <form> |
| <input type='text' name='x' value='x'> |
| <input type='text' name='y' value='y'> |
| <input type='text' name='z' value='z'> |
| </form> |
| </p> |
| <hr> |
| <p id="result"></p> |
| </body> |
| </html> |