2013-07-25 14 views
5

Sono un iniziatore in jQuery. Come trovare tutti i controlli in una forma usando jQuery?Trova tutti i controlli in un modulo utilizzando jQuery o javascript

So che il codice è come questo

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

voglio accedere al proprio ID e necessario applicare le espressioni regolari

Alcune delle caselle di testo sono numerici restante sarà alfanumerico. Esiste un metodo per ordinarli per applicare espressioni regolari?

+1

cosa vuoi fare con le espressioni regolari? vuoi selezionare solo determinati ID o ...? – pythonian29033

+0

cosa vuoi fare con il regex –

+0

@ArunPJohny sai per casella di testo e area di testo devo controllare se è numerico o alfanumerico. –

risposta

6

È possibile aggiungere una nuova proprietà data-charset in HTML

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

add cui tutti controlles si desidera aggiungere, dopo la "forma:"

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; 
          } 
        } 
        }); 
      } 
1

uso

function submitValidator() { 
    $("form :input").each(function(){ 
     var id = $(this).attr('id'); // here you got id 
    }); 
} // here missed brace 
2

E 'jQuery, non j-query. Comunque ...

si può fare in questo modo:

$("form :input").each(function (index, element) { 
    var id = $(this).attr("id"); // returns the object ID 
    var value = $(this).val(); // returns the object value 
    // etc 
}); 
0

non è necessario per ottenere l'ID se è possibile ottenere oggetto

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

: ingresso solo vi darà i tag con ingresso , textarea non sarà raggiunto in modo necessario aggiungere che, oltre

+0

In realtà textarea, button e select sono tutti abbinati da ': input' –

0

penso che si vuole fare qualcosa di simile:

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

se si desidera ottenere più di solo elementi di input all'interno del tag form, è possibile inserire più selettori nella funzione find() come questa; find("input,select,textarea,.className,[type='valueOfAttributeType']") e ovviamente qualsiasi altri selettori

Problemi correlati