2016-04-04 8 views
0

ためonkeyupの無効化、私は以下のコードを使用していますので、特定の要素の検証をからkeyup無効にしたい: -jQueryの検証、私はjQueryの検証を使用している要素

$("form").validate({ 
    onkeyup: function (element) { 
     if (element.id == 'tx_username') { 
      return false; 
     } 
    } 

これはただのためにそれを無効にします目的の要素だけでなくすべて誰もが指定された要素のキーアップ検証を無効にする方法を知っていますか?この場合の 'tx_username'

+0

if条件には、デフォルトのonkeyupコードを戻すelseが必要です。 – Sparky

答えて

0

以下のようなものを試してみてください。

 onkeyup: function (element, event) { 

    if (event.which === 9 && this.elementValue(element) === "") { 
      return; 
    } else { 
    if (element.id != 'tx_username') { 
      this.element(element); 
    } 

言及リンク - jQuery.validate.js onkeyup = true error

+0

トリック、歓声をするようだ! – Shazoo

+0

FYI @ Shazoo - その[古いスレッド](http://stackoverflow.com/questions/15103289/jquery-validate-js-onkeyup-true-error)のコードは、プラグインのバージョン1.11.1から来ました。今はバージョン1.15までです。更新されたバージョンについては、[このページの私の回答](http://stackoverflow.com/a/36413930/594235)を参照してください。最新の 'onkeyup'関数によって' shift'、 'ctrl'、' alt'などのキーが無視されることに注目してください。 – Sparky

-1

はjQueryの.off()methodを使用してみてください:

$("#tx_username", form).off("keyup");

DEMO

1

これは、ちょうどすべてのためにそれを無効にするだけでなく、目的の要素。

onkeyupオプションを使用すると、カスタム関数はプラグインのデフォルト関数を完全にオーバーライドします。 elseステートメントがないので、tx_usernameのフィールドが一致しないときは何も起こりません。onkeyupの検証を完全に無効にすることができます。

onkeyup: function (element) { 
    if (element.id == 'tx_username') { 
     return false; 
    } 
} 

ソリューションは、あなたにthe default onkeyup codeを組み込むことである...

onkeyup: function (element, event) { 
    var excludedKeys = [ 
     16, 17, 18, 20, 35, 36, 37, 
     38, 39, 40, 45, 144, 225 
    ]; 
    if (element.id == 'tx_username') { // disable 'onkeyup' for this field 
     return false; 
    } else { // otherwise, use the default code 
     if (event.which === 9 && this.elementValue(element) === "" || $.inArray(event.keyCode, excludedKeys) !== -1) { 
      return; 
     } else if (element.name in this.submitted || element.name in this.invalid) { 
      this.element(element); 
     } 
    } 
} 

DEMO:http://jsfiddle.net/ff77xbvb/


:のこの新しいバージョン関数は以下のキーを無視します...

// Shift  => 16 
// Ctrl  => 17 
// Alt   => 18 
// Caps lock => 20 
// End   => 35 
// Home  => 36 
// Left arrow => 37 
// Up arrow => 38 
// Right arrow => 39 
// Down arrow => 40 
// Insert  => 45 
// Num lock => 144 
// AltGr key => 225 
関連する問題