2011-01-05 8 views
0

Ich habe zwei Textfelder und ein Button-Steuerelement ..... Im ersten TextBox wenn drücken Sie die Eingabetaste bewegt sich zum nächsten Textfeld (Barcode) und wenn ich die Eingabe in Barcode-Textfeld drücken es löst das Click-Ereignis Taste ...... bis dass seine ok ....Durch Drücken der Eingabetaste zum nächsten Textfeld in ASP.Net gehen

Aber was passiert nach dem klicken auf die Schaltfläche auch auf Eingabe in Barcode Textbox fireing sein gehen auf dem ersten Textbox konzentrieren zurück .... ..... Aber ich möchte, dass dies in der gleichen Barcode TextBox bleibt, um mehr Barcodes zu scannen.

Der Code ist unten.

<script type="text/javascript" 
     src="http://ajax.microsoft.com/ajax/jquery/jquery-1.4.2.min.js"> 
    </script> 

<Head> 
<script type="text/javascript"> 
     $(function() { 
      $('input:text:first').focus(); 
      var $inp = $('input:text'); 
      $inp.bind('keydown', function(e) { 
       //var key = (e.keyCode ? e.keyCode : e.charCode); 
       var key = e.which; 
       if (key == 13) { 
        e.preventDefault(); 
        var nxtIdx = $inp.index(this) + 1; 
        $(":input:text:eq(" + nxtIdx + ")").focus(); 
       }     
      }); 
     }); 
    </script> 

</Head> 

Antwort

2

Sie bearbeiten keydown für jede Textbox.

Sie müssen Ihre Auswahl ändern, um nur keydown für das erste Textfeld zu behandeln.

+0

Aber wie kann man hier Code schreiben –

+0

Ich habe keine Ahnung, was Sie fragen. – SLaks

+0

So wie Sie das Fokusereignis nur auf die erste Texteingabe in Zeile 2 des JavaScript feuern, würde ich mir vorstellen. – adamjford

0

Die Schaltfläche, um eine Postbacks an den Server und Neuladen der Seite verursacht, die die Javascript erneut ausführt Sie mit dieser Zeile geschrieben:

$('input:text:first').focus(); 

die Fokus auf dem ersten Texteingabe setzt.

Ich kann nicht ohne die HTML viel von einer Lösung bieten, aber hoffentlich die Ursache zu verstehen, können Sie in die richtige Richtung weisen.

Verwandte Themen