重複の可能性:
jqueryの空のフィールド検証
フォームが空かどうかを検出する必要があります。必須フィールドが1つ以上あり、これが空の場合、必須フィールドを使用して、必須ではないクライアント側の検証を既に実行しました。これが空の場合、投稿ボタンはクライアント側の検証エラーを起動します。これは問題ありません。それらがすべて必須ではない場合は、値を挿入するまで投稿ボタンを無効にし、何かを書くときに投稿ボタンを有効にする必要があります。しかし、値を削除すると、フォームが空であるかどうかを検出できず、ボタンを再度無効にすることができません。
$('#form .my_field').each(function() {
$(this).data('oldVal', $(this).val());
$(this).bind("propertychange keyup input paste change blur", function(event) {
if ($(this).data('oldVal') != $(this).val()) {
$('#post_button').button({
disabled: false
});
}
});
});
このバインドを使用すると、カジュアルなフォームフィールドに書き込むときに検出できますが、すべてのフィールドがクリーンであるかどうかを確認する方法がわかりません。私は多くの道を試しましたが、それらは私を行き止まりに導きます。多分10時間のプログラミングの問題です:)私はある種のことを試しました
if ($(this).val()=='')
、ただし、一部のフィールド(たとえば、データピッカー)が機能しない場合(複数選択が多すぎる場合があります---->:オプションが選択されています)
同じイベントを(空の場合はブールフラグを設定して)にバインドし、すべてのブールフラグをチェックして、それらがすべてtrue(またはfalse)であるかどうかを判断する必要があると思います。ヒントはありますか?