2011-12-21 7 views
1

タブのように、Enterキーを押した後、次のコントロールに移動する必要があります。私はそのようなコードを持っています:jQueryはタブのように動作し、バリデータでは動作しません

('input').live("keypress", function (e) { 
    if (e.keyCode == 13) { 
     var tabindex = $(this).attr('tabindex'); 
     ++tabindex; 
     $('[tabindex=' + tabindex + ']').focus().select(); 
     e.preventDefault(); 
     return false; 
    } 
}); 

これは完璧です!しかし、...入力にバリデータがある場合、それは動作しません。 Enterキーを押すと、フォーカスは同じになり、バリデーターはフィールドが必要であることを示します。しかし、私は次のコントロールに移動したい。私はそれをバイパスできますか?何か案は?ありがとう。

P.S. Enterキーを押すと、すべてのバリデータを無視して、次のフィールドにフォーカスを当てる必要があります。 Enterは、バリデータを有効にするのではなく、次のコントロールにフォーカスする必要があります。

+0

実際のprobとは何ですか?検証に失敗したフィールドまたは次のフィールドにフォーカスする必要がありますか? – Chandresh

+0

前のフィールドにバリデータがある場合でも、Enterボタンを押した後に次のフィールドにフォーカスする必要があります。 –

+0

これを試してください:** setTimeout( '$ [' tabindex = '+ tabindex +'] ')。focus()。select()'、1000); ** – Chandresh

答えて

0
$('input').live("keydown", function (e) { 
    if (e.keyCode == 13) { 
     var tabindex = $(this).attr('tabindex'); 
     ++tabindex; 
     $('[tabindex=' + tabindex + ']').focus().select(); 
     e.preventDefault(); 
     return false; 
    } 
}); 
関連する問題