我在表单内使用按钮时遇到问题。我想要那个按钮来调用函数。它确实如此,但它刷新了页面,但产生了不希望的结果。
我的简单代码是这样的
<form method="POST">
<button name="data" onclick="getData()">Click</button>
</form>
单击按钮时,该函数会在页面刷新时调用,这会重置我之前的所有请求,这些请求会影响作为前一个请求的结果的当前页面。
我应该怎么做才能防止页面刷新?
我在表单内使用按钮时遇到问题。我想要那个按钮来调用函数。它确实如此,但它刷新了页面,但产生了不希望的结果。
我的简单代码是这样的
<form method="POST">
<button name="data" onclick="getData()">Click</button>
</form>
单击按钮时,该函数会在页面刷新时调用,这会重置我之前的所有请求,这些请求会影响作为前一个请求的结果的当前页面。
我应该怎么做才能防止页面刷新?
添加type="button"
到按钮。
<button name="data" type="button" onclick="getData()">Click</button>
type
按钮的默认值是submit
,它会在您的案例中自行发布表单并使其看起来像刷新。
让getData()
返回假。这将修复它。
<form method="POST">
<button name="data" onclick="return getData()">Click</button>
</form>
您需要做的就是放置一个类型标签并制作类型按钮。
<button id="btnId" type="button">Hide/Show</button>
这解决了问题
问题是它触发了表单提交。如果您创建该getData
功能,return false
则它应该停止提交表单。
或者,您也可以使用preventDefault
事件对象的方法:
function getData(e) {
e.preventDefault();
}
<form onsubmit="return false;" id="myForm">
</form>
$('#myForm').submit(function() {
doSomething();
});