Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427

    lenght su ciclo (undefined)

    ho delle checkbox che devo controllare

    codice:
    var delx = document.test.del
    var conta = 0;
    for (i=0; i<delx.length; i++)
    {
    if (delx[i].checked == true)
    {
    conta = conta+1
    }
    
    }
    il problema si verifica quando le checkbox sono solo una..
    controllando la lunghezza degli elementi con alert(delx.length) ottengo undefined

    :berto:
    qualcosa non quadra...

  2. #2
    Presumo dal codice che posti che tutte le checkbox, sia che siano una o mille, hanno lo stesso name
    name="del"

    La cosa sta così: quando tu hai piu checkboxes, del si riferisce cone name a una COLLEZIONE di oggetti, e come tale è dotata di length.

    Ma se hai una sola checkbox, del si riferisce non più ad una collezione (array) che non c'è, ma all' oggetto input specificato - che come tale non è dotato di proprietà length.

    var delx = document.test.del.length;
    var conta = 0;
    if(delx){//è una collezione
    for (var i=0; i<delx; i++){ if (delx[i].checked){++conta;} }
    }
    else if(document.test.del.checked){//è una sola checkbox, ed è checked
    ++conta;
    }

    Non lo ho testato, ma grosso modo sarebbe così.

  3. #3
    ma del cosa sarebbe?
    comunque, prova così:

    codice:
    var e = document.test.elements;
    var conta = 0;
    for (i=0; i<e.length; i++)
    {
    if (e[i].type=="checkbox"&&e[i].checked)
    {
    conta = conta+1
    }
    
    }
    ciao

  4. #4
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    l'ideale per me era questo..

    gracias..


    var delColl = document.test.del.length;
    var delx = document.test.del
    var conta = 0;
    if(delColl){//è una collezione
    for (var i=0; i<delColl; i++)
    {if (delx[i].checked){++conta;} }
    }
    else
    if(document.test.del.checked){
    ++conta;
    }

  5. #5
    non capisco se hai risolto o meno. :master:

    ciao

  6. #6
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    si grazie ho risolto...


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.