<!-- Copyright (C) 2009 The Android Open Source Project

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

          http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
-->

<html>
    <head>
        <title>javascript form</title>
    </head>
    <script type="text/javascript">
        function fireSubmit() {
            if (location.hash == "") {
                document.getElementById("formId").submit();
            }
        }
    </script>
    <body onload="window.setTimeout(function() { fireSubmit(); }, 1000);">
        javascript form test
        <form id="formId" action="test.html#result" method="post">
            <input type="hidden" name="foo" value="bar" />
        </form>
    </body>
</html>

