Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: lettura di un array

  1. #1

    lettura di un array

    for(j=1; j < 6; j++) {
    if (listacbox.item(idImm+"-"+j).name!=Id){
    listacbox.item(idImm+"-"+j).checked=false;
    }
    }

    questo ciclo provoca un errore.

    ho un array di checkbox

    il nome della singola checkbox è così formato:
    1-2

    che sarebbe
    Immobile: 1
    Immagine: 2 (cioè la seconda)

    ho provato anche con
    listacbox[idImm+"-"+j] ma non funziona lo stesso


    grazie
    Luca

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    item cos'è?
    i nomi non devo iniziare con dei numeri.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    item è un modo per individuare un elemento di un array.

    si può individuare con array[1] oppure con array.item(1)

    ...

    ho provato ad usare String(j) ma non funziona lo stesso...

  4. #4

    errore concettuale

    questa è la funzione incriminata

    function verificaModulo(Id) {//id=id-numImg
    listacbox=document.getElementsByTagName("input");
    for(i=0; i < listacbox.length; i++) {
    if (listacbox[i].name==Id){//riga individuata
    var arr=listacbox[i].value.split("-");
    var idImm=arr[0]);
    for(j=1; j < 6; j++) {
    var str_nome=String(idImm)+"-"+String(j);
    if (self.document.moduloVetrina.str_nome.name!=Id){
    self.document.moduloVetrina.str_nome.checked=false ;
    }
    }
    }
    }
    }

    dove sbaglio?

  5. #5

    ho risolto quasi tutto

    resta un unico problema:

    Genero dinamicamente un modulo,
    quindi non conosco i nomi di campi e devo calcolarmeli:

    var str_nome=String(idImm)+"-"+String(j);

    srt_nome è il nome del campo

    ma se dico:

    self.document.moduloVetrina.str_nome.checked=false ;

    mi dice che

    self.document.moduloVetrina.str_nome è nullo o non è un oggetto

    ho provato anche con

    self.document.moduloVetrina.String(idImm)+"-"+String(j).checked=false;

    ma il risultato è lo stesso.


    Grazie
    Luca

  6. #6
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    var variabile='nome'+'elemento'+'composto'+'come'+'vuo i';
    document.nomeForm.elements[variabile].quellocheserve;

  7. #7
    il metodo è quello

    la funzione è questa

    function verificaModulo(Id) {//id=id-numImg
    listacbox=document.getElementsByTagName("input");//prendo tutte le checkbox
    for(i=0; i < listacbox.length; i++) {//e le scorro
    if (listacbox[i].name==Id){//riga individuata
    var arr=listacbox[i].value.split("-");//individuo l'id dell'immobile
    var idImm=arr[0];//è questo
    for(j=1; j < 6; j++) {//scorro le cinque checkbox
    var str_nome=String(idImm)+"-"+String(j);
    if (self.document.moduloVetrina.elements[str_nome]){
    if (self.document.moduloVetrina.elements[str_nome].name!=Id){
    self.document.moduloVetrina.elements[str_nome].checked=false;
    }
    }
    }
    }
    }
    }

    ma non funziona bene

    le checkbox possono essere fino a cinque per ogni idImm


  8. #8
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    fastidioso leggere senza indentazione
    prendi l' abitudine di postare il codice tra [ code] [ /code] o meglio ancora [ php] [ /php], che separa visivamente anche i commenti

    ho un array di checkbox
    il nome della singola checkbox è così formato:
    1-2
    sono o non sono un array?
    i checkbox sono in array quando condividono identico nome, non sembrerebbe essere questo il caso

    Codice PHP:
     listacbox=document.getElementsByTagName("input");//prendo tutte le checkbox 
    se ci sono solo checkbox

    Codice PHP:
    var arr=listacbox[i].value.split("-");//individuo l'id dell'immobile 
    perche' dal value? non era il name costituito da idImmobile-numImage?

    se non risolvi, posta un po' di html a contorno cosi' capiamo meglio la situazione

  9. #9
    Codice PHP:
    function verificaModulo(Id) {//id=id-numImg
        
    alert("Il valore passato alla funzione è: "+Id)
        var 
    arr=Id.split("-");
        var 
    immobile=arr[0];
        var 
    img=arr[1];
        
    alert ("ID Immobile è: "+immobile+" - Numero Immagine è: "+img)
        for(
    i=1i<6i++){
            var 
    nomeElemento=immobile+"-"+String(i);
            
    alert ("Il primo elemento che controllo è: "+nomeElemento)
            if (
    nomeElemento!=Id) {
                
    alert("nomeElemento: "+nomeElemento+" risulta essere diverso dal valore apassato alla funzione: "+Id)
                if (
    document.moduloVetrina.elements[nomeElemento]) {
                    
    alert("La checkbox "+nomeElemento+" esiste nel modulo")
                    if (
    document.moduloVetrina.elements[nomeElemento].checked==true){
                        
    alert("La checkbox "+nomeElemento+" è settata a true")
                         
    document.moduloVetrina.elements[nomeElemento].checked=false;
                         
    alert("La checkbox "+nomeElemento+" è stata impostata a false")
                    }
                }
            }
        } 
    document.moduloVetrina.elements[nomeElemento].checked=false;
    non funziona la chechbox resta selezionata...

  10. #10
    Codice PHP:
    <table width="680" border="0" cellspacing="0" cellpadding="0">
      <
    tr>
        <
    td width="180" valign="middle"><class="bold">Appartamento

            Acquarica del Capo

            Via Acquarica
    1</p></td>
        <
    td width="100" height="100" align="center">[url="http://www.sifcasa.it/public/immobili/files/1/dock.jpg"][img]http://www.sifcasa.it/public/immobili/files/1/dock.jpg[/img][/url]</td>
        
    <td width="100" height="100" align="center">[url="http://www.sifcasa.it/public/immobili/files/1/oryx antelope.jpg"][img]http://www.sifcasa.it/public/immobili/files/1/oryx antelope.jpg[/img][/url]</td>
        
    <td width="100" height="100" align="center">

    Nessuna 

            immagine 

            inserita
    </p></td>
        <
    td width="100" height="100" align="center">

    Nessuna 

            immagine 

            inserita
    </p></td>
        <
    td width="100" height="100" align="center">

    Nessuna 

            immagine 

            inserita
    </p></td>
      </
    tr>
      <
    tr>
        <
    td width="180" valign="top"></td>
        <
    td height="25" align="center"><input onclick="verificaModulo('1-1')" name="1-1" type="checkbox" checked="checked" value="1-dock.jpg">
          
    1-1</td>
        <
    td height="25" align="center"><input onclick="verificaModulo('1-2')" name="1-2" type="checkbox" value="1-oryx antelope.jpg">
          
    1-2</td>
        <
    td align="center"></td>
        <
    td align="center"></td>
        <
    td align="center"></td>
      </
    tr>
    </
    table
    questa è una delle tabelle con le checkbox

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 © 2026 vBulletin Solutions, Inc. All rights reserved.