我搜索了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;
}
也许任何人都可以找到一些错误或找到更好的方法来做到这一点?
答案 0 :(得分:2)
你的小提琴有两个问题。
onclick="form.submit();"
正在运行并提交表单,因为 it 正在触发提交,而不是触发表单的提交处理程序(onsubmit="return go_search();"
)。将按钮的类型从按钮更改为提交将解决该问题。<强> jsFiddle example 强>
答案 1 :(得分:1)
您需要丢失onSubmit标记。只要归还它,FALSE就无法完全实现您的目标。看来你想调用一个可以返回&#34; false&#34;如果验证失败。这是处理它的好方法。
您需要将函数调用附加到提交按钮
onclick="go_search()"
在您的功能中,如果您愿意(在验证后),请提交表单。
function go_search(){
alert('abort');
if (youWantToSubmit==true) {
form.submit();
}
}
即使这样也不会100%工作,因为您的表单没有名称或ID。您需要添加这些,并使用更正确的调用,如:
document.getElementByID("[formID]").submit();
答案 2 :(得分:0)
你可以用jquery
来做到这一点$("#searchButton2").click(function(e){
e.preventDefault();
alert('abort');
});
答案 3 :(得分:-1)
使用jquery。
$(function(){
$('form.search').submit(function(){
return false;
});
});