这是我感到不安的东西。我创建了一个小表格,并且正在使用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。如果为假,则表单提交将被中止。