这是我感到不安的东西。我创建了一个小表格,并且正在使用AJAX为我进行验证。我有一个javascript函数authenticate()有时可以工作。

<form method="post" action="" id="login_form" onsubmit="authenticate()";>

// various inputs

<input type="button" onclick="authenticate()" value="Log In">

</form>

单击按钮时,authenticate()正常工作。但是,如果按Enter键,则提交表单,但失败。如果我调用onSubmit(),它也会失败。在调试中,我警告传出的文本-它们是相同的。但是,Prototype Ajax函数将其称为onSuccess,但是服务器没有任何响应。 (服务器输出“成功”或“失败”)。

为什么onClick()与onSubmit()的行为不同?完全相同的函数被调用,但是结果不同。

任何帮助,将不胜感激。

-戴夫

最佳答案

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

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

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

10-06 02:47