3

フォーム フィールドに制約を追加するために使用できるフレームワークまたは jquery プラグインが既に存在するかどうか疑問に思っていました。この場合の「制約」では、フィールド x が電子メール フィールドであり、そのように検証する必要があるとは言いたくありませんが、次のようなフォーム フィールド間の関係を定義したいと思います。

  • チェックボックスAで何かが選択されている場合->ボタンBを有効にします
  • リスト A で少なくとも X 個のエントリが選択されている場合 -->フォーム フィールド B を有効にする

などなど..

私は現在、自分で実装しようとしていますが、車輪を再発明しないようにしたかったのです。

任意の JavaScript フレームワーク (スタンドアロンまたは jquery プラグイン) である可能性があります。

4

3 に答える 3

3

なぜプラグイン?これは、jQuery だけでかなり簡単です。

$('input.A:checkbox').change(function() {
    $('button.B').prop('disabled', !($(this).prop('checked'));
});
$('select.C').change(function() {
    $('button.D').prop('disabled', !($(this).find('option:selected').length >= 10));
});

入力が変更されたときに発生するイベントにハンドラーを割り当てているだけで、条件に応じてフィールドを有効または無効にします。

次の理由から、プラグインを入手するよりも優れていると思います。

  1. より多くのファイルに対する HTTP リクエストを節約しています
  2. これ以上 JS コードを読み込まないことでパフォーマンスを節約しています
  3. これはそのままでは非常に単純であり、過度に複雑にする必要はありません。

デモを見る

于 2013-07-01T11:23:35.853 に答える
1

ノックアウトのようなものを使用すると、ノックアウト検証フレームワークを利用できるようになります..または、過去にjqbootstrapvalidationを使用しました...後者には明らかにブートストラップも必要です。

両方のサイトにかなりの数のコード サンプルがあり、どちらのフレームワークも非常に使いやすいです。さらに具体的なヘルプやアドバイスが必要な場合は、この投稿にコメントしてください。

警告の言葉です。ノックアウトを使用する場合。ブートストラップ検証ではなく、knockoutvalidationを使用してください...そうしないと、2をうまくプレイさせようとして眠れぬ夜を過ごすことになります。

于 2013-07-01T11:24:31.423 に答える
0

使用できる jQuery プラグインは次のとおりです: http://github.com/keyo/jQuery-Form-Dependency

于 2013-07-02T09:24:26.907 に答える