Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885

    radio caricati scorrettamente nell'array

    ciao a tutti,

    ho un problema con il seguente script:

    codice:
    function radiobottoni (){
    var controllo = false;
    var radio = new Array ();
    radio = document.forms['report_fido'].adde ;
    var i = 0 ;
    var count = 0 ; 
    for (i = 0 ; i < radio.length ; i++){
    		if (radio[i] == undefined){
    				break;
    			}else{
    				count++;
    				continue;
    			}
    	}
    for (var i = 0 ; i < count ; i++){
    	  if ((radio[i].checked == true)){
    	 		controllo = true;
    			return true;
    			break;
    		}else if (radio[i] == false){
    			controllo = false;
    			continue;
    	}
    	if (radio[i] == undefined){
    		break;
    		} 
    }
    if (('<? echo $_GET['var']; ?>' == 'C01') || ('<? echo $_GET['var']; ?>' == 'C05A') || ('<? echo $_GET['id_user'] ?>' == '476')){
    		controllo = true;
    	}	
    	if (controllo == false){
    		alert("Inserire i tempi di evasione");
    		return false;
    	}
    
    
    	//INVIA MODULO
    return (true); 
    }
    il fatto che questo script funziona bene quando vengono caricati due o più radio , mentre quando carico un radio non ne vuole sapere.
    ogni qualvolta ci sia un radio solo salta tutte le condizione.
    Facendo un bel debug ho notato che l'array non viene caricato quando è presente un radio, in questa condizione "for (i = 0 ; i < radio.length ; i++){" il length è undefined , mentre dovrebbbe esserci caricata 1 cella dell'array.

    mi sto sfracassando il cranio per cercare di capire come funziona, mi potete aiutare ?

    Grazie e buone vacanze , per chi va

  2. #2
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885

    Risolto

    Forse ho risolto , visto che meno di 2 radiobottoni non me li mette nell'array ho ovviato il problema (spero) aggiungendo una condizione.

    visto che non mi legge array ho fatto si che mi leggesse la variabile radio (un'array fantasma) come una costante .
    vi metto qui sotto lo script che a parole si fa spesso casino
    codice:
    var controllo = false;
    var radio = new Array ();
    radio = document.forms['report_fido'].adde ;
    var i = 0 ;
    var count = 0 ;
    
    if (radio != ""){
    	var incapsula = radio.checked;
    	if (incapsula == true){
                  controllo = true;
                  }
    }
    for (i = 0 ; i < radio.length ; i++){
    		if (radio[i] == undefined){
    				break;
    			}else{
    				count++;
    				continue;
    			}
    	}
    for (var i = 0 ; i < count ; i++){
    	  if ((radio[i].checked == true)){
    	 		controllo = true;
    	 		return true;
    			break;
    		}else{
    			controllo = false;
    			continue;
    	}
    	if (radio[i] == undefined){
    		break;
    		} 
    }
    if (('<? echo $_GET['var']; ?>' == 'C01') || ('<? echo $_GET['var']; ?>' == 'C05A') || ('<? echo $_GET['id_user'] ?>' == '476')){
    		controllo = true;
    	}	
    	if (controllo == false){
    		alert("Inserire i tempi di evasione");
    		return false;
    	}
    	//INVIA MODULO
    return (true); 
    }
    Questo è il pezzetto aggiunto che si trova subito sotto le dichiarazioni delle variabili.


    if (radio != ""){
    var incapsula = radio.checked;
    if (incapsula == true){
    controllo = true;
    }
    }



    ho fatto un paio di test e sembra funzionio


    spero non sia un'abbaglio.
    ciao!

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.