Actually, I could probably set up a hidden field on the server side, edit the
value of it, depending on which button was clicked, and do a check based on
the value of the hidden field.

Thanks very much!



Dan Atkinson wrote:
> 
> Yes, that's a good idea!
> 
> How/what do you think I could pass something to the server though, to make
> it know which button was clicked? It doesn't seem to matter which button I
> run the click function on, it's always the same (first) one.
> 
> 
> Christian Bach wrote:
>> 
>> I see, i guess i have to pay more attention :)
>> 
>> OK, how about this.
>> 
>> var submitType = false;
>> $("your single form id").submit(function() {
>>      if(submitType == "type1") {
>>              // do something
>>      } else if(submitType == "type2") {
>>              // do something
>>      } else {
>>              return false;
>>      }
>> });
>> $("#ctl00_contentPlc_txtPassword").keydown(function(e){
>>      // set type
>>      submitType = "type1";
>>      // fire  submit.
>>      $("your single form id").submit();
>> });
>> $("#ctl00_contentPlc_txtOtherPassword").keydown(function(e){
>>      // set type
>>      submitType = "type2";
>>      // fire  submit.
>>      $("your single form id").submit();
>> });
>> 
>> /christian
>> 
>> 
>> Dan Atkinson wrote:
>>> 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
>>>> [email protected]
>>>> http://jquery.com/discuss/
>>>>
>>>>
>>> 
>> 
>> 
>> _______________________________________________
>> jQuery mailing list
>> [email protected]
>> http://jquery.com/discuss/
>> 
>> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Determine-which-textarea-had-focus-when-%27enter%27-was-pressed.-tf2298484.html#a6387317
Sent from the JQuery mailing list archive at Nabble.com.


_______________________________________________
jQuery mailing list
[email protected]
http://jquery.com/discuss/

Reply via email to