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

Javascript Firefox试图在按enter键时将表单发送到同一页面,但表单标记中未定义目标,javascript,forms,firefox,xmlhttprequest,Javascript,Forms,Firefox,Xmlhttprequest,我对Firefox和表单有点问题 我有一个表单,它是通过XMLHttpRequest()从同一服务器的外部文件动态加载的;它没有设置目标和直接提交按钮,但通过Javascript函数发送数据,如下所示: <form name="blahform"> <input type="text" name="blubb"> <input type="button" value="Barfoo" onclick="return someFunction(this

我对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代码。如果我不按enter键,而是直接使用按钮,这是可行的,但我希望他完全忽略enter键,或者至少只调用Javascript例程,而不是尝试将整个内容发送到nirvana,重新加载页面。(是的,有一个XMLHttpRequest();在Javascript函数后面等待该数据。)

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

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

编辑: 解决方案,感谢Mike和Riateche:
-标记中使用了onsubmit=“return false;”,现在它可以正常工作。

您需要使用
的onsubmit事件,而不是按钮的
onclick
事件。

是否只有Firefox表现出这种行为?您是否检查了错误控制台以查看
someFunction
中是否存在JS错误?默认情况下,如果没有目标,它将提交到同一页面。您可以使用
onsubmit
函数来防止默认提交操作。此问题的答案应有助于您: