たとえば、ブログのタグ用のテキストボックスがあります。私が望むのは、タグの数を制限することです。 たとえば、 "web hosting、php、windows8"と入力します。 ユーザーがコンマで始まるテキストボックスに別のテキストボックスを入力しようとすると、テキストボックスはそのテキストボックスに書き込めません。テキストボックスにカンマが3つ未満になるようにテキストボックスを制限するにはどうすればよいですか?
答えて
keypress
ハンドラでは、event
オブジェクトをキャプチャしてください。
if (event.which == 44 && $(this).val().split(",").length > 2) {
event.preventDefault();
}
ここでの動作を参照してください。 http://jsfiddle.net/5L7mU/
$(document).ready(function(){
$('#textbox').keypress(function(e){
var text = $(this).val();
if(text.split(',').length>3){
return false;
}else if(e.which==44&&text.split(',').length>2){
return false
}
});
});
フィドル:
我々は3つの小さな問題にこの問題を分割することができます。
まず、ユーザーがテキストボックスに文章を書くのを止める方法が必要です。 keypress
にコールバックをフックすると、渡されたイベントにはpreventDefault
というメソッドがあり、これを実行する必要があります。だから、すべての入力をブロックする:
$("input").keypress(function(event) {
event.preventDefault();
});
、テキストボックスに既に存在しているどのように多くの昏睡チェックするために、我々は正規表現を使用することができます。 match
関数は、一致がない場合は空の配列の代わりにnull
を返します。そのためにチェックする必要があります。
$("input").keypress(function(event) {
var matches = $(this).val().match(/,/g);
var count = 0;
if (matches)
count = matches.length;
console.log(count);
});
最後に、ユーザーが昏睡状態になったかどうかを確認する必要があります。 event
オブジェクトには、入力された文字のキーコードを含むwhich
というプロパティがあります。
$("input").keypress(function(event) {
var matches = $(this).val().match(/,/g);
var count = 0;
if (matches)
count = matches.length;
if (count >= 2 && event.which == 44)
event.preventDefault();
});
段階的な説明のある良いsolutin。今私はこれがどのようにうまくいくのか知っています。ありがとうございました。 – SNaRe
@SNaRe問題はありません。回答の横にある矢印を使用して貢献者に感謝し、見つかった回答をマークするチェックマークを使用して問題を最も解決するのを忘れないでください。 –
- 1. テキストボックスに数字キーを使用してユーザーフォームを制限するにはどうすればよいですか?
- 2. Enterキーでhtmlテキストボックスを更新しないようにするにはどうすればよいですか?
- 3. テキストボックスをドロップダウンリストにバインドするにはどうすればよいですか?
- 4. HTMLテキストボックスから別のテキストボックスに値を転送するにはどうすればよいですか?
- 5. すべてのhttpdプロセスが合計CPUの90%未満を使用するように制限するにはどうすればよいですか?
- 6. winformsテキストボックスにインテリセンスのような提案ボックスを実装するにはどうすればよいですか?
- 7. バックグラウンドで変更されたテキストボックスのフォーカスイベントが正しい値になるように、Jqueryを強制するにはどうすればよいですか?
- 8. リストからテキストボックスをバインドするにはどうすればよいですか?
- 9. テキストボックスの値をAjax.ActionLinkに渡すにはどうすればよいですか?
- 10. ユーザーフォームのテキストボックスがhtmlテキストボックスのように動作するようにする
- 11. テキストボックスが空白またはテキストボックスが3未満の場合
- 12. フォームが無効なときにテキストボックスのフォーカスを停止するにはどうすればよいですか?
- 13. Express.jsでクッキーが期限切れになるようにするにはどうすればよいですか?
- 14. 1つのイベントをすべてのテキストボックスに追加するにはどうすればよいですか?
- 15. グリッドビューのセルをラベルではなくテキストボックスにするにはどうすればよいですか?
- 16. LandscapeでmodalViewControllerを制限するにはどうすればよいですか?
- 17. テキストボックスにローディングスピナーを追加するにはどうすればいいですか?
- 18. 情報をテキストボックスにプレロードするにはどうすればいいですか?
- 19. テキストボックスにテキストを追加するにはどうすればよいですか?置き換えない
- 20. コンソールプログラムの出力をスレッドセーフな方法でテキストボックスにリダイレクトするにはどうすればよいですか?
- 21. 誰かが入力テキストボックスなしであなたのウェブサイトに「入力」できるようにするにはどうすればよいですか?
- 22. コンソールのようなテキストボックスを作るにはどうすればいいですか?
- 23. LinkedTransferQueueのサイズを制限するにはどうすればよいですか?
- 24. ウェブサイトのリフレッシュレートを制限するにはどうすればよいですか?
- 25. テキストフィールドのサイズを制限するにはどうすればよいですか?
- 26. イベントをダイナミックに追加されたテキストボックスにバインドするにはどうすればよいですか?
- 27. 数値に基づいてテキストボックスを非表示にするにはどうすればよいですか?
- 28. objective-c/cocoaに単純なテキストボックスを表示するにはどうすればよいですか?
- 29. 長さが0のときにユーザーがテキストボックスに特殊文字を入力しないようにするにはどうすればよいですか?
- 30. テキストボックスにアポストロフィをエラーなしで含めるにはどうすればよいですか?
をあなたは私をしたい場合:探検の少しを使用すると、我々はすべて一緒にそれを置く場合、コマのキーコードは、だから、44
であることを見つけることができますあなたが私を助けてくれるコンセプトを取得したい場合は、keyupイベントをキャッチして、カンマをフィルタリングして上限に達すると、他のコンマの挿入を防ぐようにします。 – Qchmqs