0

これが私のコードです:

<form>
    <input type="text" id="input"/>
    <br/>
    <div id="buttons">
        <input id="search" onclick="search()" type="button" value="Search"/>
        <input type="button" value="Random"/>
        <script type="text/javascript">
        function search() {
            var search = document.getElementById('search');
            var int = setInterval(function() {
                if (search.value.length == 6) search.value = 'Searchi';
                else if (search.value.length == 7) 
                    search.value = 'Searchin';
                else if (search.value.length == 8) 
                    search.value = 'Searching';
                else {
                    search.value = 'Search';
                }
                //clearInterval( int ); // at some point, clear the setInterval
            }, 500);
        }​
        </script>
    </div>
    </form>

<form>要素がコード内にある場合、ボタン機能は機能しません。form 要素を削除すると、JavaScript が機能することがわかります。何が問題なのか知りたいですか?どうすれば修正できますか?

また、私が望む結果のためのより良いコードはありますか? JavaScript の古い方法を使用していると誰かに言われました。

4

1 に答える 1

3

IEでsearchグローバルオブジェクトの機能を非表示にする要素id-searchを変更します。

<input id="search" onclick="search()" type="button" value="Search"/>

する必要があります:

<input id="search-suffix" onclick="search()" type="button" value="Search"/>

PS

intはjavascriptの予約語ですが、その間は何もしませんが、classandprivateなどのように'なので、避ける必要があります。

于 2012-12-20T18:48:10.800 に答える