1

外部検証ライブラリを使用して、フィールドが入力されているかどうかを確認しています。これはうまくいきます。

次に、すべてのフィールドが正しく入力され、ユーザーが送信したときにアラートを表示したいと考えています。

コードは次のとおりです。

<select id="selectsizes" class="required">
  <option></option>
  <option>1</option>
  <option>2</option>
</select>
<input type="Text" id="txtName" name="Name" value="" class="required">

$(document).ready(function(){
  $("#Form").submit(function() {
    if ($('.required').val() != "") {
      alert("Thank you.");
      return false;
    }
  });
});

元のフォームにはより多くのフィールドがありますが、これは説明のためです。選択からオプションを選択するか、入力フィールドに入力すると、送信を押すとアラートが発生します。すべての検証エラーがなくなるまで、起動しないでください。

4

2 に答える 2

1

次のように、各入力の値を個別に確認してから、すべてに値があるかどうかなどを確認する必要があります。

$(document).ready(function () {
    $("#Form").submit(function () {
        var val = $.map($('.required'), function (el, i) {
            if (!$.trim(el.value).length) return el;
        });
        if (!val.length) {
            alert("Thank you.");
            return false;
        }
    });
});

フィドル

于 2013-03-04T15:08:44.710 に答える
0

たとえば、変数を作成しますvar error = false;

すべての入力を循環し、満たされていない入力を取得したかどうかを選択し、var を true に設定しますerror = true;

最後に:

if (!error) {
  alert("Thank you.");
  return false;
}

必要なフィールドを次のように循環できます。

$('.required').each(function() {
  //DO STUFF
  if ($(this).val() == "") {
    error = true;
  }
});
于 2013-03-04T15:08:39.290 に答える