WebCore/manual-tests/select-onchange-after-js.html
changeset 0 4f2f89ce4247
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/WebCore/manual-tests/select-onchange-after-js.html	Fri Sep 17 09:02:29 2010 +0300
@@ -0,0 +1,47 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+        "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<body>
+    <p>Test for <a href="http://bugs.webkit.org/show_bug.cgi?id=11402">bug 11402</a> and 
+    <a href="http://bugs.webkit.org/show_bug.cgi?id=12701">bug 12701</a>:
+    An onChange event should fire when the first item is not the default, and
+    after changing the value via JavaScript.</p>
+    <p>After following the steps below, both selects should display "SUCCESS".</p>
+
+    <form action="" method="post" name="areaform" id="areaform">
+        <select name="selectitem" onChange="onChange1(this)">
+            <option value="1">Please change this to another value</option>
+            <option value="2">(to this one)</option>
+        </select>
+    </form>
+    <form action="" method="post" name="areaform2" id="areaform2">
+        <select name="selectitem2" onChange="onChange2(this)">
+            <option value="1">(to this one)</option>
+            <option value="2" selected>Please change this to another value</option>
+        </select>
+    </form>
+
+    <script>
+        function onChange1(sel) {
+            if (sel.secondTry) {
+                sel.options[1].text='SUCCESS';
+            } else {
+                sel.options[0].text='Please change this to another value once again';
+                sel.value = '1';
+                sel.secondTry = 1;
+            }
+        }
+        
+        function onChange2(sel) {
+            if (sel.secondTry) {
+                sel.options[0].text='SUCCESS';
+            } else {
+                sel.options[1].text='Please change this to another value once again';
+                document.forms.areaform2.selectitem2.options[1].selected = true;
+                sel.secondTry = 1;
+            }
+        }
+    </script>
+
+</body>
+</html>