| <script> | |
| function extractValues() | |
| { | |
| var rows = document.getElementById("table").rows; | |
| for (var i = 0; i< rows.length; i++) { | |
| var row = rows[i]; | |
| var element = row.childNodes[1].firstChild; | |
| try { | |
| if (element.value) { | |
| row.childNodes[2].innerHTML = element.value; | |
| } | |
| if (element.getAttribute("value")) { | |
| row.childNodes[3].innerHTML = element.getAttribute("value"); | |
| } | |
| } catch (exception) { } | |
| } | |
| } | |
| function test() | |
| { | |
| var e; | |
| document.getElementById("1").value = "after"; | |
| document.getElementById("9").value = "after"; | |
| document.getElementById("2").value = "after"; | |
| document.getElementById("5").value = "after"; | |
| document.getElementById("6").value = "after"; | |
| document.getElementById("7").value = "after"; | |
| document.getElementById("8").value = "after"; | |
| document.getElementById("3").setAttribute("value", "after"); | |
| document.getElementById("4").setAttribute("value", "after"); | |
| try { | |
| e = document.getElementById("12"); | |
| e.value = "after"; | |
| e.type = "checkbox"; | |
| } catch (exception) { } | |
| try { | |
| e = document.getElementById("13"); | |
| e.value = "after"; | |
| e.type = "text"; | |
| } catch (exception) { } | |
| try { | |
| e = document.getElementById("14"); | |
| e.setAttribute("value", "after"); | |
| e.type = "checkbox"; | |
| } catch (exception) { } | |
| try { | |
| e = document.getElementById("15"); | |
| e.setAttribute("value", "after"); | |
| e.type = "text"; | |
| } catch (exception) { } | |
| try { | |
| document.getElementById("10").value = "after"; | |
| } catch (exception) { } | |
| extractValues(); | |
| document.getElementById("form").reset(); | |
| } | |
| </script> | |
| <body onload="test()"> | |
| <p>Results that match WinIE are two columns on the right that say "after" every time, except for the last row which should have nothing in either column.</p> | |
| <p>Results that match Gecko are like WinIE, but with "before" for the attribute in the first two rows and the last row.</p> | |
| <hr> | |
| <form id="form"> | |
| <table id="table"> | |
| <thead><th align="left">test case</th><th align="left">form element</th><th>property</th><th>attribute</th></thead> | |
| <tr><td>text with value property changed</td><td><input id="1" value="before"></td><td ></td><td></td></tr> | |
| <tr><td>password with value property changed</td><td><input id="9" type="password" value="before"></td><td></td><td></td></tr> | |
| <tr><td>check box with value property changed</td><td><input id="2" type="checkbox" value="before"></td><td></td><td></td></tr> | |
| <tr><td>hidden with value property changed</td><td><input id="5" type="hidden" value="before"></td><td></td><td></td></tr> | |
| <tr><td>button with value property changed</td><td><input id="6" type="button" value="before"></td><td></td><td></td></tr> | |
| <tr><td>image with value property changed</td><td><input id="7" type="image" value="before"></td><td></td><td></td></tr> | |
| <tr><td>radio with value property changed</td><td><input id="8" type="radio" value="before"></td><td></td><td></td></tr> | |
| <tr><td>text with value attribute changed</td><td><input id="3" value="before"></td><td ></td><td></td></tr> | |
| <tr><td>check box with value attribute changed</td><td><input id="4" type="checkbox" value="before"></td><td></td><td></td></tr> | |
| <tr><td>text with value property changed, then turned into check box</td><td><input id="12" value="before"></td><td ></td><td></td></tr> | |
| <tr><td>check box with value property changed, then turned into text</td><td><input id="13" type="checkbox" value="before"></td><td></td><td></td></tr> | |
| <tr><td>text with value attribute changed, then turned into check box</td><td><input id="14" value="before"></td><td ></td><td></td></tr> | |
| <tr><td>check box with value attribute changed, then turned into text</td><td><input id="15" type="checkbox" value="before"></td><td></td><td></td></tr> | |
| <tr><td>file with value property changed</td><td><input id="10" type="file" value="before"></td><td></td><td></td></tr> | |
| </table> | |
| </form> | |
| </body> |