5

私は jQuery のスターターです。jQueryを使用してフォーム内のすべてのコントロールを見つける方法は?

私はコードがこのようなものであることを知っています

function submitValidator(){
   $("form :input").each(function(){ });

ID にアクセスしたいので、正規表現を適用する必要があります

一部のテキスト ボックスは数字で、残りは英数字です。それらを並べ替えて正規表現を適用する方法はありますか?

4

5 に答える 5

6

HTML に新しいプロパティ data-charSet を追加できます

<input type="text" id='amt' data-charSet='numeric'>

「form :」の後に追加するすべてのコントロールを追加します。

function submitValidator(){
                   $("form :text, textarea").each(function(){         
                        var NumericOnly = "^[0-9]*$";
                        var svId = $(this).attr('id');
            if($(this).attr('data-charSet') == 'numericonly')
                    {
                         if(!$(this).val().match(NumericOnly)) { 
                            alert("numeric");
                            eval("$('#" + svId +"').focus();")
                            return false;
                            }
                    }
                    });
            }
于 2013-07-25T14:50:02.723 に答える
1

使用する

function submitValidator() { 
   $("form :input").each(function(){ 
       var id = $(this).attr('id'); // here you got id
   });
} // here missed brace
于 2013-07-25T12:45:06.723 に答える
0

オブジェクトを取得できる場合は、ID を取得する必要はありません

function submitValidator() { 
   $("form :input ,form textarea").each(function(){ 
    $(this).yourfunction();
   });
}

:input は入力付きのタグのみを提供します。テキストエリアは見逃されるため、それも追加する必要があります

于 2013-07-25T12:47:33.083 に答える
0

私はあなたがこのようなことをしたいと思います:

$("form").find("input").each(function(){ 
   var currentElementsId = $(this).attr("id");
   if(currentElementsId.match(/^regex/)){
      //do something
   }
});

フォームタグ内の入力要素以上のものを取得したい場合は、次のfind()ように関数に複数のセレクターを配置できます。find("input,select,textarea,.className,[type='valueOfAttributeType']")そして明らかに他のセレクター

于 2013-07-25T12:47:42.077 に答える