重置操作由input type="image"
执行,onclick
调用名为resetForm()
的函数。
单击重置时,不应发生表单提交。我尝试从resetForm()函数返回false,但它仍然无法正常工作。请帮帮我。
答案 0 :(得分:7)
不是在resetForm
中返回false,而是在点击功能中使用preventDefault
:
$('#myButton').click(function(event) {
event.preventDefault(); // yaa!
resetForm();
});
return false
也有效,但是当jQuery获得某个功能时,我通常坚持这一点。
答案 1 :(得分:2)
我将确保您的函数正确返回false,确保JavaScript中没有语法错误。
测试此方法的好方法,尝试提示(“测试返回!”);在返回假之前。
答案 2 :(得分:2)
如果您想使用return False;
而非event.preventDefault();
,则必须将返回false 置于事件回调中。因此,如果您在resetForm()
中返回false,则需要这样:
$('#myButton').click(function() {
return resetForm();
});
更简单,如果你所做的就是点击运行一个功能(感谢JimmyP提醒):
$('#myButton').click(resetForm);
在我看来,它更简洁,更少打字。所有人都赢了。
答案 3 :(得分:1)
我认为其他人正在描述一种不同的方式来做我所建议的:
onClick="return resetForm();"
否则onClick正在调用而不关心返回。
答案 4 :(得分:1)
有一种实际的方法。但它需要几个步骤。
结合:
$(document).ready(function () {
$("#yourinputtypeid").on("click", {Parameter1 : "your parameter value"},
FunctionNameToRun);
}
功能。
function FunctionNameToRun(event)
{
event.preventDefault();
// the rest of your code
}
那就是它。这应该阻止提交/重新加载页面。
答案 5 :(得分:0)
我可能更好地使用<input type="reset" />
而不是type="image"
,因为后者具有type="submit"
的语义,而前者似乎具有您想要的语义。您也可以轻松地将图像放在这样的按钮上,这样可以省去编写JavaScript函数的麻烦。
如果您想继续使用<input type="image" />
,我认为从false
事件返回onclick
不会做任何事情。由于它具有提交表单的语义,因此表单将被提交。为了解决这个问题,您可以在表单标记中放置onsubmit
属性:<form onsubmit="return submitFunction();" />
。在submitFunction
中,您可以检查按下了哪个提交/图片按钮,具体取决于返回true
或false
。在此处<{1}}返回将阻止表单提交。