我正在尝试构建一个小的搜索脚本,但是当你点击提交时似乎无法阻止页面重新加载。我的代码可能有问题:
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>
答案 0 :(得分:1)
<Input type="submit"/>
将始终触发回发并重新加载页面。
如果它适用于您尝试实施的任何内容,请将输入更改为<Input type="button"/>
并且
addEvent(searchSubmit, 'click', searchThat)
{}
你的代码可能缺少更多的逻辑,但是你发布的内容可以让你的生活变得更加轻松,而不是做所有这些复杂的JScripting,你可以做到:
<Input type="button" value="Click Me" onclick="searchThat()"/>