Javascript onsubmit()不起作用

Javascript onsubmit()不起作用,javascript,forms,Javascript,Forms,这是我感到不安的事情。我创建了一个小表单,并使用AJAX为我进行验证。我有一个javascript函数authenticate(),有时可以使用 //各种输入 authenticate()在我单击按钮时工作正常。但是,如果我按enter键,表单将被提交,并且失败。如果调用onSubmit(),它也会失败。在调试过程中,我会提醒发出的文本——它们是相同的。然而,Prototype Ajax函数将其称为onSuccess,但服务器没有响应。(服务器输出“成功”或“失败”) 为什么onClick

这是我感到不安的事情。我创建了一个小表单,并使用AJAX为我进行验证。我有一个javascript函数authenticate(),有时可以使用

//各种输入

authenticate()
在我单击按钮时工作正常。但是,如果我按enter键,表单将被提交,并且失败。如果调用onSubmit(),它也会失败。在调试过程中,我会提醒发出的文本——它们是相同的。然而,Prototype Ajax函数将其称为onSuccess,但服务器没有响应。(服务器输出“成功”或“失败”)

为什么onClick()和onSubmit()的行为不同?调用了完全相同的函数,但结果不同

任何帮助都将不胜感激


--Dave

按钮的
onClick
不会提交表单。它只是一个在客户端调用
authenticate()
的按钮

表单提交时将调用
onSubmit
事件,但您可能看不到客户端
authenticate()
的结果,因为表单将在提交后立即发布。目前还不清楚它的功能是什么


但是,如果
authenticate()
执行了我的猜测,那么您需要将属性更改为
onSubmit='return authenticate()'
,并让函数返回true/false。如果为false,则表单提交将中止。

按钮的
onClick
不会提交表单。它只是一个在客户端调用
authenticate()
的按钮

表单提交时将调用
onSubmit
事件,但您可能看不到客户端
authenticate()
的结果,因为表单将在提交后立即发布。目前还不清楚它的功能是什么


但是,如果
authenticate()
执行了我的猜测,那么您需要将属性更改为
onSubmit='return authenticate()'
,并让函数返回true/false。如果为false,表单提交将中止。

验证()的预期副作用是什么?您是否希望表单发回当前页面URL?您正在使用Prototype进行Ajax调用,为什么不用于事件处理?去掉那些旧的内联内容,在表单上使用现代的DOM事件处理程序。
authenticate()
的预期副作用是什么?您是否希望表单发回当前页面URL?您正在使用Prototype进行Ajax调用,为什么不用于事件处理?去掉那些旧的内联内容,在表单上使用一个现代的DOM事件处理程序。“…表单将在…之后立即发布…”我想我理解现在发生的事情。实际上我不想要提交,但我喜欢表单行为,并且Prototype为表单提供了一个很好的序列化函数。谢谢我们可以先通过button的“onclick”功能验证表单,并在验证通过后提交表单。所以我们不需要使用submit()函数。“…表单将在…之后立即发布…”我想我理解现在发生的事情。实际上我不想要提交,但我喜欢表单行为,并且Prototype为表单提供了一个很好的序列化函数。谢谢我们可以先通过button的“onclick”功能验证表单,并在验证通过后提交表单。所以我们不需要使用submit()函数。