• User

    campi a scomparsa con javascript

    Ciao a tutti,
    ho provato a creare in un form un campo a selezione multipla, dove in base all'opzione che viene selezionata, compare un' altro campo a selezione multipla.

    Il problema è questo : Con Mozilla Firefox funziona, con Internet Explorer no

    Se io uso una <radio box> al posto du una <select option> tutto funziona perfettamente sia con Firefox che con Explorer, ma ho esigenza di usare una
    <select option> e deve essere visualizzato correttamente con Internet Explorer

    il codice è il seguente :

    
    <script language="javascript">
    	function toggleMe(obj, a){
    	  var e=document.getElementById(a);
    	  if(!e)return true;
    		e.style.display="block"
    	  return true;
    	}
    	
    	function toggleMe2(obj, a){
    	  var e=document.getElementById(a);
    	  if(!e)return true;
    		e.style.display="none"
    	  return true;
    	}
    </script>
    
    
    <form name="form">
    Scegli uno dei 2 casi: 
    <!--Se selezioni caso 1 non appare niente
    	se selezioni caso 2 appare la tabella con l'altro campo a selezione multipla
    -->
    		<select name="prova">
              <option value="" selected>- Seleziona</option>
              <option value="uno" onfocus="return toggleMe2(this, 'esempioInfo')">caso 1 </option>
              <option value="due" onfocus="return toggleMe(this, 'esempioInfo')">caso 2</option>
             </select>       
      
      <div id="esempioInfo" style="display: none;">         
     	<table width="100%"  border="1" cellspacing="2" cellpadding="4" >
          	<tr class="scomparsa">
           		<td class="form" width="45%">hai selezionato caso 2, sei convinto?</td>
           		<td>
            		<select name="prova2" class="form1">
    			 		<option value="" selected>- Seleziona</option>
    			  		<option value="si">si</option>
    					<option value="no">no</option>
                	</select>
                </td>
            </tr>
          </table>
      </div>
    </form>
    
    

    Grazie per il vostro aiuto


  • Super User

    ciao emanuele...
    forse IE non gestisce l'evento "onfocus"?
    prova con gli eventi "onchange" o "onclick" (sulla select non sulle option)
    io uso onchange per fare una cosa simile alla tua e mi funziona ovunque...
    :ciauz:


  • User

    Ho risolto così:
    [HTML]
    <script language="javascript">
    function toggleMe(obj, a){
    var e=document.getElementById(a);
    if(obj=="due"){
    e.style.display="block";
    }else{
    e.style.display="none";
    }
    }
    </script>

    <form name="form">
    Scegli uno dei 2 casi:
    <!--Se selezioni caso 1 non appare niente
    se selezioni caso 2 appare la tabella con l'altro campo a selezione multipla
    -->
    <select name="prova" onchange="toggleMe(this.options[this.selectedIndex].value, 'esempioInfo')">
    <option value="" selected>- Seleziona</option>
    <option value="uno" >caso 1 </option>
    <option value="due">caso 2</option>
    </select>

    <div id="esempioInfo" style="display: none;">
    <table width="100%" border="1" cellspacing="2" cellpadding="4" >
    <tr class="scomparsa">
    <td class="form" width="45%">hai selezionato caso 2, sei convinto?</td>
    <td>
    <select name="prova2" class="form1">
    <option value="" selected>- Seleziona</option>
    <option value="si">si</option>
    <option value="no">no</option>
    </select>
    </td>
    </tr>
    </table>
    </div>
    </form>
    [/HTML]