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> > >