Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2005
    Messaggi
    18

    Ciclo su elementi di un form

    Salve, ho un problema con un ciclo su alcuni elementi di un form.
    Ho una select che sull'on change, deve rendere visibile un div che ha id numerico.
    Questa parte funziona, ma se seleziono un altro elemento, deve visualizzare il nuovo elemento e rendere hidden l'elemento precedente.
    Nella funzione sotto invece, devo cliccare due volte per far scomparire l'elemento selezionato, non so se sono stato chiaro.
    Tutti i div hanno name= "rec", quindi pensavo di fare un ciclo su elementi che hanno name="rec", ma non funziona.

    function Visible(id)
    {
    var element = document.getElementById(id);

    if(element.style.visibility=="hidden"){
    element.style.visibility="visible";
    element.style.height="";
    }else{
    element.style.visibility="hidden";
    element.style.height="0px";
    }
    }

  2. #2
    Devi farlo due volte perchè javascript non può leggere stili che non siano in linea.
    Alla prima passata element.style.visibility è "undefined" (diverso da "hidden" quindi la tua funzione gli assegna una visibility "hidden", visibility leggibile alla seconda "passata")
    Esistono diverse funzioni per leggere, tramite javascript, gli stili non in linea, ne posto una:
    codice:
    function getStyle(oElm, strCssRule){
    	var strValue = "";
    	if(document.defaultView && document.defaultView.getComputedStyle){
    		strValue = document.defaultView.getComputedStyle(oElm, "").getPropertyValue(strCssRule);
    	}
    	else if(oElm.currentStyle){
    		strCssRule = strCssRule.replace(/\-(\w)/g, function (strMatch, p1){
    			return p1.toUpperCase();
    		});
    		strValue = oElm.currentStyle[strCssRule];
    	}
    	return strValue;
    }
    dove oElm sta per "Object Element" e strCssRule sta per "Regola CSS"
    esempio:
    getStyle(document.getElementById("container"), "font-size");

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