我在stackoverflow上搜索并找到了一些答案,但是我尝试了一切。
也许只是一个很小的错误,或者是一些小的错误,但是我找不到它们。

我也试过jsFiddle

<form class="search" onsubmit="return false;" method="get" action="index.html">
    <input class="text" type="text" onblur="if(this.value == ''){this.value = this.defaultValue;}" onfocus="if(this.value == this.defaultValue){this.value = '';}" onkeydown="if (event.keyCode == 13) { this.form.submit(); return false; }" value="Nachname" name="inputNachname" />
    <input class="text" type="text" onblur="if(this.value == ''){this.value = this.defaultValue;}" onfocus="if(this.value == this.defaultValue){this.value = '';}" onkeydown="if (event.keyCode == 13) { this.form.submit(); return false; }" value="Vorname" name="inputVorname" />
    <input type="hidden" value="search" name="query" />
    <button id="searchButton2" onmouseover="this.style.cursor = 'pointer';" onclick="form.submit();" value="Go" type="button">SUCHE</button>
</form>


我想要一个函数,该函数返回false:

<form class="search" onsubmit="return go_search();" method="get" action="index.html">


这是函数:

function go_search(){
    alert('abort');
    return false;
}


jsFiddle

也许有人可以发现一些错误或找到更好的方法来做到这一点?

最佳答案

你的小提琴有两个问题。


您的JavaScript函数包装在window.load处理程序中,将其放在错误的范围内。只要把它放在头上就足够了。
您的按钮具有类型按钮,而不是提交。按钮中的onclick="form.submit();"正在运行并提交表单,因为它触发了提交,而不是触发了表单的提交处理程序(onsubmit="return go_search();")。将按钮的类型从按钮更改为提交即可解决该问题。


jsFiddle example

关于javascript - 返回false时表单仍提交(看不到错误),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23763596/

10-12 00:46
查看更多