3

送信をクリックした時点でフォームを検証しようとしています。クラス .ipv4val が割り当てられている検証が必要な入力が多数あります。私が抱えている問題は、検証に失敗した単一の入力要素に「悪い」クラスを追加できないように見えることです。

$("form").submit(function() {
    var REGEX = /^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$/;  
    if (REGEX.test($(".ipv4val").val())) {
      return true;
    }
else {
      $(this).addClass("bad");
  return false;
   }

何か案は ?

4

3 に答える 3

3

独自の検証をロールバックする代わりに、 jquery.validate プラグインを検討しましたか?

于 2012-07-10T20:27:46.417 に答える
3

以下の使用に注意してください。$(this).addClass("bad")

$(this)form実行時の要素です。入力の要素 ID を使用してみてください。

于 2012-07-10T20:15:12.713 に答える
2

このようにしてみてください:

$("form").submit(function() {
    var REGEX = /^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$/;
    var ok=true;
    $(".ipv4val").each(function(){
        if (!REGEX.test($(this).val())) {
            $(this).addClass("bad");
            ok = false;
        }
    });
    return ok;
};
于 2012-07-10T20:17:44.683 に答える