Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    157

    [jsp] gestione eventi

    salve,
    ho una combo box in una tabella html.
    adesso vorrei che i form seguenti a questa combo fossero deselezionati a meno che non scelga qualcosa dalla combo.

    Quello che sono riuscito a fare e quello di far apparire a videoo i tag seguinti o farli sparire.
    ma come posso fare a deselezionarli? Ho provato in un sacco di modi ma non senza risultato.

    Vi mando quello che ho fatto cosi magari sarà più chiaro:

    codice:
    codice:
    <script language="javascript" type="text/javascript">
                         function mostra(id,tipo){
    	              switch (tipo) {
    		       case 'si' :
    			if(document.getElementById){
        			var el=document.getElementById(id);
        			el.style.display = "inline";
    			}
    		    break
    		case 'no' :
    			if(document.getElementById){
        			var el=document.getElementById(id);
        			el.style.display = "none";
    			}
    		break
    	}
    } 
             
    
     Malattie infettive
     <select name="malat_infet"  onChange="if(this.options[0].selected) {mostra('specifica', 'no')} else {mostra('specifica', 'si')}" >
                                    <option selected="selected">
                                    <option > esantomi 
                                    <option > parotite  
                                </select>
                               
                                 
                                 span id="specifica" style="display: none">
                                   <%--{ --%>
                                    Età
                                    <input type="text" name="eta" size="3">
                                    Tipo
                                    <input type="text" name="Tipo" > 
                                       <%--} --%>            
                                </span>

    Non so se è chiaro! :master:
    questo script mi permette di gestire degli eventi. cioè mi fa apparire a video "età" e "tipo" se scelgo un compponente della combo. io voglio che all'inizio "età" e "tipo " siano deselezionati "magari colorati di grigio" e poi se eventualmente scelgo quancosa dalla combo attivarli.

    Potete aiutarmi?
    Tutto ciò che non mi uccide mi rende più forte!

  2. #2
    Una volta che hai l'elemento
    puoi disabilitarlo: el.disabled=true;
    renderlo in sola lettura: el.readOnly=true;
    colorarlo come vuoi: el.style.background="red";
    e anche svuotarlo: el.value="";

    puoi approfondire l'argomento su questo sito:
    http://www.w3schools.com/htmldom/dom_reference.asp

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    157
    grazie mille...

    ascolta per caso sai:

    se invece di avere una combo ho un checkbox come si fa a settare onChange?
    Tutto ciò che non mi uccide mi rende più forte!

  4. #4
    E' la stessa cosa possono cambiare le proprietà dell'oggetto, ma la gestione dell'evento è la stassa.

    codice:
    <form id="selection" name="selection">
    	<input type="checkbox" name="mycheck" id="mycheck" onclick="alert('check: ' + document.selection.mycheck.checked);">
    	<input type="radio" name="myradio" id="myradio" onclick="alert('radio: ' + document.selection.myradio.checked);">
    </form>
    questo ti fa vedere se è selezionata o no.
    puoi chiamare una funzione invece dell'alert, controllare la proprietà checked e comportarti di conseguenza.

    Spero che era questo che chiedevi.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    157
    grazie infinitamente......
    Tutto ciò che non mi uccide mi rende più forte!

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,305

    Moderazione

    Sbaglio o tutto questo ha un'attinenza solo marginale con JSP (le pagine vengono prodotte da JSP, ma il problema era JavaScript)?


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    157
    Ciao, s.geminieni

    volevo chiederti una cosa...
    quando vado a fare el.readOnly=true; lo script prende solo il nome es "età" e lo disabilita non anche il tag dove si va a scrivere dentro...

    Forse al posto di "getElementById" devo usare un altra cosa!?
    magari questa parola chiava non dice nulla sull imput non so..

    Puoi aiutarmi ancora?
    Tutto ciò che non mi uccide mi rende più forte!

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    35
    Ciao saeba79,

    non ho capito bene cosa mi chiedi, ma getElementById restituisce un solo elemento, il primo che trova con quell'id.
    Quindi se devi modificare le proprietà di più elementi, devi eseguire getElementById per ogni elemento.
    Ci sono altri due metodi che potrebbero fare al caso tuo e sono
    document.getElementsByName(name)
    Documentazione: http://www.w3schools.com/htmldom/met...entsbyname.asp
    document.getElementsByTagName(tagname)
    Documentazione: http://www.w3schools.com/htmldom/met...sbytagname.asp

    Questi due metodi restituiscono una collezione di oggetti che hanno lo stesso name o tag dal livello in cui viene chiamato il metodo, cioè, se lo esegui da document, tutti quelli presenti nella pagina, se lo esegui da document.myForm, tutti quelli presenti nel form.

  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    157
    grazie...

    ma il problema non si risolve...

    l'unico che va bene è "getElementById()" solo che mi fa deselezionare il nome del campo e poi quando scrivo nel campo la scritta è grigia come se fosse deselezionata.
    Io vorrei qualcosa che mi impedisse di scrivere nel campo.

    codice:

    codice:
     function mostra(id,tipo){
    	              switch (tipo) {
    		       case 'si' :
    			if(document.getElementById('specifica')){
                            
        			var el=document.getElementById(id);
                                	/*el.value.readOnly="true";*/
                                             el.style.display = "inline";
                                           el.value.readonly="true";
                                           /*disabled mi da il nome del campo disabilitato ma mi 
                                              permette di scrivere all'interno del campo perchè?*/ 
                                            el.disabled="disabled";
                                           
              
    			}
    		    break
    		case 'no' :
    			if(document.getElementById('specifica')){
                          		var el=document.getElementById(id);
        			
                            el.style.display = "none";
                           
                          			}
    		break
    	}
    } 
    
    </script>
    
     <span id="specifica"   style="display: none" > 
                                  
                                    Età
                                    <input  name="eta" size="3"   >
                                    Tipo
                                    <input type="text" name="Tipo" > 
                                  
              
                                </span>
    Tutto ciò che non mi uccide mi rende più forte!

  10. #10
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,305

    Moderazione

    Ho capito... sposto su JavaScript... qui Java non c'entra na mazza...


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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