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 回答