0

小さな検索スクリプトを作成しようとしていますが、送信を押したときにページの再読み込みを停止できないようです。おそらく私のコードに何か問題があります:

function searchThat(e) {
    if (!e) e = window.event;
    e.preventDefault();

    if (searchFor.indexOf(searchIn) != -1) {
        console.log('we found it');
    }
}

本当にありがとう!

私はそれを

    if (searchFor && searchIn && searchSubmit) {
    addEvent(searchSubmit, 'submit', searchThat)
    }

と:

function addEvent(elem, evtType, func) {
    if (elem.addEventListener) {
        elem.addEventListener(evtType, func, false);
    } else if (elem.attachEvent) {
        elem.attachEvent("on" + evtType, func);
    } else {
        elem["on" + evtType] = func;
    }
}

およびHTML:

<div class="container">
    <form>
        <p>Search for:</p>
        <p class="mrm">
            <input type="text" id="searchFor" name="searchFor">
        </p>
        <p>In:</p>
        <textarea class="mrm" type="text" id="searchIn" name="searchIn"></textarea>
        <p>
            <input type="submit" class="clicker nmb" id="searchSubmit" name="searchSubmit">
        </p>
    </form>
</div>
4

1 に答える 1

1

<Input type="submit"/>常にポストバックをトリガーし、ページをリロードします。実装しようとしているもので機能する場合は、入力を次のように変更します<Input type="button"/>

addEvent(searchSubmit, 'click', searchThat)
{}

コードが欠落しているロジックがさらにある可能性がありますが、投稿した内容から、この複雑なJScriptingをすべて実行する代わりに、次のようにすることで、作業をさらに簡単にすることができます。 <Input type="button" value="Click Me" onclick="searchThat()"/>

于 2012-07-12T23:09:24.983 に答える