2011-01-08 1 views
0

zu behandeln Ich schreibe den folgenden Code zu behandeln, wenn die Eingabetaste eine mit wenigen Validierung gedrückt, wie wenn es ein Textfeld ist nur vier Zeilen zulassen und wenn der Wert leer ist, auf sich selbst konzentrieren.wollte jQuery erweitern, um ein benutzerdefiniertes Enter-Key-Ereignis basierend auf Tabindex

var temp = 1; 
function getLines(id) 
    { 
     return temp=temp+id; 
    } 
$("#theform").keypress(function(e){ 
var key = e.charCode ? e.charCode : e.keyCode ? e.keyCode : 0;         
    if (key == 13) { 
     var $targ = $(e.target); 
     var tindex = $targ.attr("tabindex"); 
     var count =1; 
     var focusNext = false; 
     var allowedNumberOfLines = 4; 
     if ($targ.is("textarea") && !$targ.is(":button,:submit")) { 
      var lines= getLines(count); 
      if (lines > allowedNumberOfLines) 
      { 
      $("#login_error").css('background', '#F7F77C').fadeIn(1000).html("Only "+allowedNumberOfLines+" Lines Allowed").fadeOut(1000); 
      tindex++; 
      $("[tabindex=" + tindex + "]").focus();  
      return false; 
      } 
     } 
     else if($targ.val() =='' || $targ.val() == "undefined") 
     { 
     $("[tabindex=" + tindex + "]").focus();  
     return false; 
     } 
     else if($targ.val() !='' || $targ.val() != "undefined") 
     { 
     tindex++; 
     $("[tabindex=" + tindex + "]").focus();  
     return false; 
     } 
    } 
}); 

Gibt es eine Möglichkeit, es eine benutzerdefinierte Funktion zu machen, so dass ich nur die Funktion wie

$('theform').returnPress(); 
+1

Was soll returnPress() tun? –

Antwort

0

ich für ein similar question ein Plugin erstellt nennen kann heute früher. Check it out!

Dies ist keine Validierung, aber vielleicht können Sie es selbst ändern.

+1

Nur für die Aufzeichnung - die "ähnliche Frage", die Sie beantwortet haben, stammt vom selben Benutzer wie dieser. –

+0

@Matt, haha. Erinnert nur die Frage und kümmerte sich nicht um den Benutzer zu überprüfen. Naja, Lektion gelernt. Danke für die heads up;) – mekwall

+0

Vielen Dank sowohl @ Matt, @ Marcus –

Verwandte Themen