Visualizzazione dei risultati da 1 a 3 su 3

Discussione: indice di un campo

  1. #1

    indice di un campo

    Ciao,
    in una pagina con una serie di campi che hanno lo stesso nome avrei bisogno di reperire l'indice del campo che ha attivato una funzione.

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Devi passare alla funzione un riferimento all'oggetto... e scorrere la collezione fino a trovarlo.
    codice:
    function pippo(obj) {
      rv = -1;
      f = obj.form; //risalgo al form contenitore
      for (var i=0;i<f.elements.length;i++) { // scorro tutti gli elementi
        if (f.elements[i]==obj) rv=i;  // trovato!
      }
      return rv;
    }
    
    ... ... ...
    
    <input ... onchange="alert(pippo(this));">
    Se invece vuoi l'indice dei soli elementi con quel nome occorre complicare... se pur di poco (puoi provarci per conto tuo...)

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Grazie infinite,
    Speravo che ci fosse una proprietà (o qualcosa del genere) che mi scodellasse la pappa già pronta.
    In effetti mi serve proprio l'indice relativo agli elementi con lo stesso nome, dovrebbe essere sufficiente inserire un secondo contatore da incrementare solo alla corrispondenza del nome:
    codice:
    function pippo(obj) {
      if (length in <CAMPO>)
      {
        f = obj.form;
        j = 0;
        for (var i=0;i<f.elements.length;i++)
        {
          if (f.elements[i].name==obj.name)
          {
            if (f.elements[i]==obj) return j;
            j++;
          } 
        }
      }
      return -1;
    }
    Grazie ancora,

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.