I would think preventDefault() is the right way to do it too.

So, given that this isn't working like I would have thought it should,
did I code this incorrectly? Or is this something more serious like a
bug?

On Oct 17, 4:36 pm, Choan Gálvez <[EMAIL PROTECTED]> wrote:
> On Oct 17, 2008, at 7:37 PM, ricardobeat wrote:
>
>
>
> > It should work... but in jQuery 'return false' is the standard cross-
> > browser way of preventing the default action anyway,
>
> Not exactly.
>
> - `preventDefault()` **is** the cross-browser way of preventing the  
> default action.
>
> - `return false` prevents the default action and stops the event  
> propagation.
>
>
>
> > On Oct 16, 11:16 pm, Hullah <[EMAIL PROTECTED]> wrote:
> >> I have a page with input textboxes and input buttons on it.  All are
> >> contained in a form.  I don't want the Enter button to submit the
> >> form, so I call preventDefault() on all texboxes.  I also don't want
> >> the input button to submit the form, so I call preventDefault() on  
> >> the
> >> input button.
>
> >> But, if I call the button.click() event for when Enter is pressed  
> >> in a
> >> textbox (to simulate a click on the button) it submits the form.  It
> >> seems as if something is not working like it should.
>
> >> Now...if I "return false" instead of preventDefault(), it works as I
> >> would expect.  But I would have thought that the purpose of
> >> preventDefault() is to cancel the default action of the event, as in
> >> this case to cancel form submission.
>
> >> Any help with this is greatly appreciated!  Following is some sample
> >> code that exhibts the behavoir.
>
> >> Thanks,
> >> Hullah
>
> >> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
> >>   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
> >> <html xmlns="http://www.w3.org/1999/xhtml";>
> >>     <head>
> >>         <title>Test</title>
> >>         <script language="javascript" type="text/javascript"
> >> src="jquery-1.2.6.js"></script>
> >>         <script language="javascript" type="text/javascript">
> >>           $(function() {
> >>             $(":text").keypress(function(e) {
> >>               if (e.which == 13) {
> >>                 e.preventDefault();
> >>               }
> >>             });
> >>             $("#txt").keypress(function(e) {
> >>               if (e.which == 13) {
> >>                 $("#btn").click();
> >>               }
> >>             });
> >>             $("#btn").click(function(e) {
> >>               e.preventDefault();
> >>               alert("Button clicked");
> >>             });
> >>           });
> >>         </script>
> >>     </head>
> >>     <body>
> >>       <form method="post" action="test.html">
> >>         <div>
> >>           <input id="txt" type="text" />
> >>           <input id="btn" type="submit" value="Submit" />
> >>         </div>
> >>       </form>
> >>     </body>
> >> </html>
>
>

Reply via email to