开发者

onsubmit() does not work

Here is something that I find disturbing. I created a small form, and I'm using AJAX to validate for me. I have a javascript function authenticate() that works sometimes.

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

// various inputs

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

</form>

authenticate() works just fine when I click the button. However, if I press enter the form is submitted, and it fails. It also fails if I call onSubmit(). In my debugging, I alert the outgoing texts-- they are identical. However, the Prototype Ajax function calls it the onSuccess, but there is just no response from the server. (The server outputs either "Success" or "Failure").

Why the different behaviors for onClick() vs onSubmit()? The exact same function is called, but the results are dif开发者_如何学编程ferent.

Any help would be appreciated.

--Dave


The button's onClick does not submit the form. It is merely a button that calls authenticate() on the client side.

Your onSubmit event will be called when the form submits, but you may not be seeing the result of the client side authenticate() because the form will post immediately after. It's not clear what functionality is intended.

But, if authenticate() does what I guess, then you need to change the attribute to onSubmit='return authenticate()' and let the function return true/false. When false, the form submission will be aborted.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜