Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    62

    Come contare gli elementi di un campo form di tipo array

    Ciao,

    Ho un quesito da porVi:

    Ho un campo costruito nel modo seguente:

    <input type="text" name="Campo[0]">
    <input type="text" name="Campo[1]">
    ....
    <input type="text" name="Campo[N]">

    La domanda è come faccio a sapere quanti elementi ha l'array Campo[]?
    ho provato con document.nomeMiaform.campo.lenght ma non funzica....


    help!
    :master:
    Isabella

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Forse cosi ( non so se esiste un metodo + semplice )
    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    
    <html>
    <head>
    <title>Untitled</title>
    <script language="JavaScript" type="text/javascript">
    <!--
    function conta() {
     c     = 0;
     oColl = document.getElementsByTagName('INPUT');
     for (i=0;i<oColl.length;i++) {
      curInp = oColl.item(i);
    	if (curInp.type == 'text' && curInp.name.match(/^Campo[[]\d+[]]$/)) { 
    	 c++;
    	}
     }
     return c;
    }
    //-->
    </script>
    
    </head>
    <body>
    <form name="nomeMiaform">
    <input type="text" name="Campo[0]"> 
    <input type="text" name="Campo[1]"> 
    <input type="text" name="Campo[2]">
    <input type="text" name="Campo[122]">
    <input type="text" name="Campo_[122]">
    </form> 
    <script language="JavaScript" type="text/javascript">
    <!--
    alert(conta())
    //-->
    </script>
    
    </body>
    </html>
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    62

    OK!

    Grazie mille,

    Ho corretto la Tua funzione così:

    c = 0;
    oColl = document.MioForm.getElementsByTagName('INPUT');
    for (i=0;i<oColl.length;i++)
    {
    curInp = oColl.item(i);
    if (curInp.name.indexOf("Campo") > -1)
    {
    c++;
    }
    }

    Grazie Ancora!
    Isabella

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Originariamente inviato da badaze
    Forse cosi ( non so se esiste un metodo + semplice )
    codice:
    ... curInp.name.match(/^Campo[[]\d+[]]$/)) {
    La soluzione di bigteddy e` valida (per trovarla era necessaria una consocenza completa dei suoi dati).

    Ma la RegExp di badaze ha si puo` scrivere in un modo piu` semplice:
    /^Campo\[\d+\]$/
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.