2012-02-09 23 views
25

入力時にHTMLテキスト入力を検証する最良の方法は何ですか?私はそれを行うの知っているすべての方法は、いくつかの欠点があります入力されたHTMLテキスト入力を確認する

$.keypressを使用して
  1. あなただけの入力の古い値ではなく、新しいものへのアクセスを持っています。また、マウスを使用した切り取り/貼り付けなどの一部のイベントは検出されません。

  2. $.changeを使用すると、入力がフォーカスを失った場合にのみ機能します。

  3. This questionは、ポーリングを使用してプロパティの変更を監視するソリューションを提案しています。原則として、コールバックの新しい値を検証し、無効な場合は古い値に戻すことができます。しかし、ポーリングを必要とすることに加えて、私はそれが競争条件から解放されているかどうかはわかりません。

  4. This articleは、ブラウザ固有の機能を使用している場合は、使用できない場合はポーリングに戻ります。これまでのところ最良のアプローチのように見えます。

  5. [更新]の回答で指摘されているように、$.keyupは更新後の値にアクセスできます。しかし、マウスカット/ペーストでは機能しないだけでなく、キーを押し続けると失敗し、ロットが入力された後に解放されます。または、​​とkeyupを組み合わせて古い値を保存/復元すると、ユーザーの入力が速すぎると破損します。

上記の解決方法は、エラーフリーまたは実際に安全なクロスブラウザではありません。すぐに使用できるか、または作成中の方が良いソリューションがありますか?よくある問題と思われますが、最近私はsimilarquestionsと答えようとしましたが、私は答えにも興味があります。

(に対して良好な引数このような行為は、場合には、この検証が実施された場合には上昇するだろう、新たな問題があり、また歓迎されているが、それは他の言語で共通のものと思われるので、私はそれが悪いとは思えません先にする事)

答えて

関連する問題