Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478

    Disabilitare e abilitare select da pulsante

    Ciao! ...sono consapevole del rischio di linciaggio che corro nel postare per la millesima volta un post simile, ma proprio non riesco ad uscirne!

    Ho cercato tra le tante discussioni sull'argomento ma, non avendo la giusta praticitā con js, non riesco a risolvere questo problema da solo.

    La questione č semplice, vorrei poter abilitare/disabilitare una select tramite un pulsante. Se possibile integrando il tutto in questa funzione:

    codice:
    function ShowAndHide(id1,id2) {
      if(document.getElementById) {
        el1 = document.getElementById(id1);
        el2 = document.getElementById(id2);
        if(el1.style.display=="none") {
          el1.style.display = "block";
          el2.style.display = "none";
        }
    	else {
          el1.style.display="none";
          el2.style.display="block";
        }
      }
    }
    La funzionalitā del codice č abbastanza chiara. Alla fine, in un div, ad esempio, con id "div1" richiamo la funzione tramite un pulsante (type=button) con onclick="ShowAndHide('div1','campo1');

    cosė facendo visualizzo il contenuto dell'altro div "campo1" settato inizialmente con "display:none". Fin quė tutto bene.

    Adesso vorrei poter integrare alla funzione "ShowAndHide" la possibilitā di disabilitare una select e riabilitarla allo stesso modo del precedente meccanismo descritto prima, mostra/nascondi div.

    Si puō fare o č necessario creare una seconda funzione dedicata?

  2. #2
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    Ragazzi, capisco che non č tanto gratificante rispondere a discussioni che trattano argomenti giā ampiamente discussi, ma un vostro aiuto sarebbe molto prezioso per me! non sono proprio capace di ragionare sul codice, ignoro quasi completamente la sintassi di js e non saprei dove mettere mano.

    Magari proviamo ad isolare il problema... lasciamo stare la funzione che ho postato prima e il discorso sull'integrazione della funzionalitā che avrei voluto aggiungere. Mi potreste fare un esempio di come fare per abilitare/disabilitare una select tramite un l'onclick associato ad un pulsante? Grazie

  3. #3
    per disabilitare una select basta che imposti l'attributo disabled della select a true/false.

    una cosa tipo:
    codice:
    function ShowAndHide(id1,id2,id_se1) {
      if(document.getElementById) {
        el1 = document.getElementById(id1);
        el2 = document.getElementById(id2);
        se1 = document.getElementById(id_se1);
        if(el1.style.display=="none") {
          el1.style.display = "block";
          el2.style.display = "none";
          se1.disabled=false;
        }
    	else {
          el1.style.display="none";
          el2.style.display="block";
          se1.disabled=true;
        }
      }
    }
    dA .. foto di viaggio
    L'esperienza č il tipo di insegnante pių difficile.
    Prima ti fa l'esame, e poi ti spiega la lezione.

  4. #4
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    Ciao AnĒkin, che piacere ritrovarti anche qui! grazie infinite per l'aiuto. Ho provato a smanettare un po' ma mi sono incartato mani e piedi

    Sono proprio negato... non č che potresti farmi un esempio pratico?

  5. #5
    Ciao, guarda, una volta che dai l'id alla tua select non dovresti avere problemi, come assegni uno stile al tuo div abiliti o disabiliti la select, l'esempio pių veloce:
    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>Documento senza titolo</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <script type="text/javascript">
    function disable_select(flag){
    	se1=document.getElementById("mySelect");
    	se1.disabled=flag;
    	return false;
    }
    
    </script>
    
    </head>
    
    <body>
    <select id="mySelect" name="mySelect">
    <option>...</option>
    <option>asd</option>
    </select>
    
    
     abilita 
    
     disabilita 
    </body>
    </html>
    dA .. foto di viaggio
    L'esperienza č il tipo di insegnante pių difficile.
    Prima ti fa l'esame, e poi ti spiega la lezione.

  6. #6
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    nada nulla! ho provato il tuo esempio, funziona perfettamente, ma non riesco ad integrarlo al codice che giā utilizzo. Non ci sono errori, niente. Neanche con la modifica che hai fatto prima, quella alla funzione "ShowAndHide", riesco a venirne fuori...

    Questo e un esempio, concreto, della situazione in cui mi trovo...
    codice:
    <html>
    <head>
    <script type="text/javascript">
    function ShowAndHide(id1,id2) {
      if(document.getElementById) {
        el1 = document.getElementById(id1);
        el2 = document.getElementById(id2);
        if(el1.style.display=="none") {
          el1.style.display = "block";
          el2.style.display = "none";
        }
    	else {
          el1.style.display="none";
          el2.style.display="block";
        }
      }
    }
    </script>
    </head>
    
    <body>
    <fieldset>
      <legend>prova</legend>
        <label>
    	  <select name="compositore">
    	    <option value="1">1</option>
    	    <option value="2">2</option>
          </select>
    	</label>
    
    	<div id="lab1">
    	  <label>
    	    <input type="button" onclick="ShowAndHide('lab1','lab1_d1');return(false);" value="Apri" />
    	  </label>
    	</div>
        
    	<div id="lab1_d1" style="display:none">
          <label>
    	    <input type="button" onclick="ShowAndHide('lab1','lab1_d1');return(false);" value="Chuidi" />
    	  </label>
    	  testo di prova...
    	</div>
    </fieldset>
    </body>
    </html>
    Si puō integrare il codice che mi hai suggerito? Grazie

  7. #7
    Come dicevo nel post precedente devi dare un id (univoco) alla tua select, in modo da poterlo identificare usando getElementById:
    codice:
    <select id="compositore" name="compositore">
       <option value="1">1</option>
       <option value="2">2</option>
    </select>
    a quel punto usi la tua funzione cosė come l'ho modificata nel primo post richiamandola sull'onclick
    codice:
    ShowAndHide('lab1','lab1_d1','compositore');
    cosė dovrebbe andare
    dA .. foto di viaggio
    L'esperienza č il tipo di insegnante pių difficile.
    Prima ti fa l'esame, e poi ti spiega la lezione.

  8. #8
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    Grazie! sei stato gentilissimo. Funzionava anche prima, con la tua prima modifica alla funzione. Ero io che facevo confusione con i nomi id da assegnare alla select. Grazie ancora, 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.