0

我遇到了一个奇怪的小问题。在四处搜索以修复表单提交后刷新页面后,我发现您可以使用“return false”。我很高兴看到它在 FF 中有效,但是当我在 IE 中尝试时……它仍然刷新了页面。

这是代码的重要部分:

<form action="" onsubmit="event.preventDefault(); showAddress(this.address.value); return false">
    <table cellspacing="0" cellpadding="0" border="0">
        <tr>
            <td><h3>address:</h3></td>
        </tr>
        <tr>
            <td><input type="text" size="60" name="address" value="" /></td>
            <td>&nbsp;</td>
            <td><button type="submit" value="Zoek!">Zoek!</button></td>
        </tr>
    </table>
</form>

如何确保它不会在 IE 中刷新?

提前致谢!

编辑 我现在改变了它,所以我不再使用表格。相反,我使用按钮的 onclick 事件。感谢 Shin 指出我的错误。

<table cellspacing="0" cellpadding="0" border="0">
   <tr>
      <td><h3>address:</h3></td>
   </tr>
   <tr>
      <td><input type="text" size="60" name="address" value="" /></td>
      <td>&nbsp;</td>
      <td><button type="submit" onclick="showAddress(this.value); value="Zoek!">Zoek!</button></td>
   </tr>
</table>
4

3 回答 3

0

您可以将 preventDefault() 放在提交按钮的 onclick 事件上。

于 2012-05-07T12:27:07.130 回答
0

处理 JS 中按钮的 onclick 事件并在 JS 处理程序中添加以下行

//e.cancelBubble is supported by IE - this will kill the bubbling process.
e.cancelBubble = true;
e.returnValue = false;
于 2012-05-07T12:29:26.823 回答
0

您可以在点击函数中调用所有函数

于 2012-05-07T12:35:38.450 回答