2017-01-17 5 views
0

私は、アカウント番号フィールドを持つフォームを作成しています。このアカウント番号は、それぞれがサイズ= '1'の5つのテキストボックスを持っています。最後のフィールドのフィールドを検証するにはどうすればいいですか?

<div class="accountNumberWrapper"> 
    <input class="oneDigit" name="oneDigit" size="1" /> 
    <input class="twoDigit" name="twoDigit" size="1" /> 
    <input class="threeDigit" name="threeDigit" size="1" /> 
    <input class="fourDigit" name="fourDigit" size="1" /> 
    <input class="fiveDigit" name="fiveDigit" size="1" /> 
</div> 

私はjQuery Validation Pluginを使用して、第5箱のみのfocusoutに口座番号を検証したいのです。以下のコードを使用していましたが、すべてのボックスのタブで検証しています。

rules: { 
    'oneDigit': "meterReading", // custom method 
    'twoDigit': "meterReading", 
    'threeDigit': "meterReading", 
    'fourDigit': "meterReading", 
    'fiveDigit': "meterReading" 
},  
groups:{ 
    'meter_reading': "oneDigit twoDigit threeDigit fourDigit fiveDigit" 
} 

お勧めします。

+0

私は私の答えを更新し、それはあなたが –

答えて

0

あなたはjQueryのイベントハンドラを使用することができます。

$("#target").focus(function() { 
    /** Your code here **/ 
}); 

フォーカスイベントハンドラの詳細を: https://api.jquery.com/focus/

$("#target").focusout(function() { 
    /** Your code here **/ 
}); 

focusoutイベントハンドラについての詳細:のため.valid()メソッドを使用 https://api.jquery.com/focusout/

とをjQuery検証プラグイン https://jqueryvalidation.org/valid/

+0

ないjQueryの道を望んであれば下記を参照してください、私はjQueryの検証プラグインを使用して解決策を探しています! –

0

jQueryイベントfocusOutと検証方法.valid()を使用できます。

あなたのケースでは、それは次のようになります。

$(".fiveDigit").on('focusout', function() { 
     $(".accountNumberWrapper input").valid(); 
    } 
); 
+0

$( "。fiveDigit")だけでなく、valid(); 5番目のボックスのフォーカスアウトで、アカウント番号全体を5桁すべて検証する必要があります。 –

+0

@SouvikBanerjee私はあなたが欲しいものを理解していない、私は私の答えを更新 –

0

私だけ

はの検証テストをトリガーカスタムfocusoutハンドラを書く第五ボックスのfocusoutに口座番号を検証します5番目のボックスのイベントfocusoutのフォーム全体。

$('[name="fiveDigit"]').on('focusout', function() { 
    $('#myform').valid(); // trigger validation of form 
}); 

それはあなたがフィールド間を移動するときに検証がトリガーされないように、また、プラグインのデフォルトonfocusoutオプションを無効にし、すべてのボックス

のうちのタブに検証しています。

onfocusout: false 

DEMO:jsfiddle.net/6mqtqeos/

関連する問題