Firefox试图在按enter键时将表单发送到同一页面,而表单标记中没有定义目标

Firefox trying to send form to same page on pressing enter without target defined in form tag

本文关键字:表单 一页 定义 目标 enter Firefox      更新时间:2023-09-26

我在使用Firefox和表单时遇到了点小问题。

我有一个表单,从外部文件动态加载从同一服务器通过XMLHttpRequest();它没有设置目标,也没有直接提交按钮,而是通过Javascript函数发送数据,如下所示:

<form name="blahform">
    <input type="text" name="blubb">
    <input type="button" value="Barfoo" onclick="return someFunction(this.form);">
    <input type="hidden" name="id">
</form>

问题是Firefox将此发送到表单页面,当然完全忽略了我的Javascript代码。它的工作原理,如果我不按回车,但直接使用按钮,但我希望他完全忽略回车键或至少只调用Javascript例程,而不是试图发送整个事情进入天堂,重新加载页面。(是的,有一个XMLHttpRequest();在Javascript函数后面等待数据。;)

那么,如何告诉火狐做我想做的,而不是他认为最好的?

顺便说一句,我已经开始用"提交"而不是"按钮"的形式,并改为"按钮",希望这能解决这个问题,但没有运气。

编辑:解决方案,感谢Mike和Riateche:在<中使用onsubmit>

您需要使用<form>onsubmit事件而不是按钮的onclick事件