8

据我了解,return false 的默认处理是:

<input type="submit" onclick="return false" />

但是在我的代码中,我想让一个提交按钮运行一个单独的 js 函数onclick,该函数将根据用户选择的单选按钮提供 ajax 输出。

但由于我使用 ajax 和我的 js 函数来处理输出,我希望提交按钮返回 false。

但如果我已经使用onclick指向函数:

<input type="submit" onclick="jsfunction()" />

我在哪里把return false?

我可以有2个onclick陈述吗?

我想的另一个选择是,如果我知道无论函数返回哪个值我都不会提交表单,那么它根本不应该是提交按钮吗?

但如果是这种情况,是否有一个我可以在 html 中编码的按钮,它看起来与提交相同但没有提交属性?

4

4 回答 4

20

尝试像这样将您的方法(jsmethod)添加到您的表单 onsubmit 处理程序

<form onsubmit="jsfunction(); return false;">

并删除输入 onclick 处理程序。

于 2012-10-25T08:04:59.127 回答
14

就这样做

<input type="submit" onclick="return jsfunction()" />

功能变化

function jsfunction()
{
  //you code 
  return false;
}

或者如果您不想更改功能,请尝试

<input type="submit" onclick="jsfunction();return false;" />
于 2012-10-25T08:06:22.493 回答
4

像这样:

<input type="submit" onclick="jsfunction();return false;" />

或者只使用一个按钮而不是提交按钮:

<input type="button" value="Submit" onclick="jsfunction();" />
于 2012-10-25T08:05:09.193 回答
0

不,您不能有 2 个onclick声明,但您可以调用多个函数,onclick例如:

<input type="submit" onclick="jsfunction();anotherFunction();" />

在其他功能中,您可以拥有:

function anotherFunction(){
  return false;
}
于 2012-10-25T08:06:22.523 回答