Christian, Thanks for the reply but, as I mentioned there is only one form on the page, and two submit buttons inside it.
Your code sample assumes that there is more than one form and wouldn't work on a single form. Christian Bach wrote: > > Hi, > > let's say we have the following html i the page. > > <form id="form1"> > <input type="text" name="username" class="formItem"/> > </form> > > <form id="form2"> > <input type="text" name="username_again" class="formItem"/> > </form> > > <script> > var currentForm = false; > var triggerKeyCode = 13; > $(document).ready(function() { > $(".formItem").focus(function() { > currentForm = $(this).parent(); > }); > $(this).keyDown(function(e) { > if (!e) var e = window.event > if (e.keyCode) code = e.keyCode; > else if (e.which) code = e.which; > > > if(currentForm && code == triggerKeyCode) { > currentForm.submit(); > } > > }); > }); > > this is just of the top of my head, and is not tested! > > Best regards > Christian > > > Dan Atkinson wrote: >> Hey all! >> >> Ok, right to the point here! >> >> I have a page in ASP.NET which has two sets of username and password >> boxes >> and two sets of submit buttons. Because it is ASP.NET, there can only be >> one >> form in a page. >> >> The problem in a normal page is that, when the user presses enter on the >> keyboard, the first submit control is triggered. What if someone enters >> info >> in the second username and password boxes? Well, the page simply doesn't >> know which control the user was in when they hit enter. >> >> So... I wrote something which determines which textbox the user was in >> when >> they pressed enter (keycode 13) >> >> $(document).ready(function(){ >> $("#ctl00_contentPlc_txtPassword").keydown(function(){ >> //The user pressed a key in the password textarea >> if ((event.which && event.which == 13) || (event.keyCode && >> event.keyCode == 13)) >> { >> //The user pressed enter. Check if the relevant textboxes are >> filled >> correctly. If not, show the error and return false >> if (!CheckLogin()) >> return false; >> else >> //User has filled in the textboxes properly. Now simulate a click >> on >> the first button. >> $("#ctl00_contentPlc_btnCheck").click(); >> } >> }); >> >> $("#ctl00_contentPlc_txtOtherPassword").keydown(function(){ >> //The user pressed a key in the password textarea >> if ((event.which && event.which == 13) || (event.keyCode && >> event.keyCode == 13)) >> { >> //The user pressed enter. Check if the relevant textboxes are >> filled >> correctly. If not, show the error and return false >> if (!CheckOtherLogin()) >> return false; >> else >> //User has filled in the textboxes properly. Now simulate a click >> on >> the first button. >> $("#ctl00_contentPlc_btnOtherCheck").click(); >> } >> }); >> }); >> >> There is a problem however. The script works, but doesn't actually >> simulate >> a click on the second button. If I replace >> $("#ctl00_contentPlc_btnOtherCheck").click(); with alert("hello");, I'll >> get >> a lovely message come up when I press enter in the second password >> textarea. >> So this indicates to me that the script is working ok, but the button >> isn't >> being fired. The button exists and I can reference it, but I simply can't >> fire it. >> >> I've also tried $("[EMAIL PROTECTED]").get(1).click(); but this doesn't >> work either (note, that the button is an image button). >> >> Is there anyone who has had a similar problem and solved it? >> >> Cheers, >> >> Dan > > > _______________________________________________ > jQuery mailing list > discuss@jquery.com > http://jquery.com/discuss/ > > -- View this message in context: http://www.nabble.com/Determine-which-button-was-just-clicked-tf2298484.html#a6386797 Sent from the JQuery mailing list archive at Nabble.com. _______________________________________________ jQuery mailing list discuss@jquery.com http://jquery.com/discuss/