Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    display:none & disabled=false

    ciao a tutti , ho un problema ;
    io ho un form ( direi abbastanza lunghino :P ) in cui alcuni campi sono condizionati da determinate scelte

    esempio :
    ho 2 radio button ( stesso nome ) valore SI/NO

    la scelta si Mi abilita i campi A & Bi e disabilita C & D , la scelta NO abilitita C & D e disabilita A & B


    per fare ciò ho associato al radio button SI una funzione onclick :
    codice:
    function miafunzione()
    {
    
    
              document.getElementById('A').disabled=false;
    	  document.getElementById('B).disabled=false;
    	  document.getElementById('C').disabled=true;
    	  document.getElementById('D').disabled=true;
    }
    e al radiobutton NO un'altra funzione ( con nome diverso ) che fa esattamente il contrario

    va anche detto che essendo la scelta preinpostata su NO i campi A & B sono inizializzati con disabled="true"


    fatta cosi funziona perfettamente , ora vorrei fare qualcosa di piu carino ovvero , se il campo è disabilitato non deve essere visualizzato ( o meglio non deve essere visualizzata l'intera riga dato che ho usato delle tabelle , che contiene quel campo)

    ho trovato , in seguito ad una ricerca questo codice
    codice:
    <html>
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <script type="text/javascript">
    function cancella_valore(chkbox,elem) {
    if (document.getElementById(checkbox).checked==false) {
    document.getElementById(layer3).value = '';
    }
    }
    function ExpandDisp(id)
    {
       var style;
       if (arguments.length != 1)
       throw new Error("function ExpandDisp() incorrectly called");
       style = document.getElementById(id).style;
       style.display = ((style.display == "none") ? "block" : "none" );
       return false;
    }
    </script>
    </head>
    <body>
     <form name="form1" method="post" action="prova2.asp">
      <input name="checkbox" type="checkbox" value="ulteriori_opzioni"
    onClick="ExpandDisp('Layer3');">
    cliccka per avere altri campi
     
      
    
     </div>
     <div id="Layer3"style="display:none;">
      <TABLE border="0" cellpadding="3" cellspacing="1" width="510"
    bgcolor="#ffffff">
        <TR bgcolor="#ffffff">
          <TD valign=top><input name="textfield2" type="text" value=""></TD>
        </TR>
      </TABLE>
     </div>
     <input type="submit" value="Submit" name="B1"></form>
    </body>
    </html>
    e tendenzialmente ho capito come funziona c'è un campo in una tabella impostato con display none e quando si va a flaggare il chackbox parte l'evento onclick che disabilita il display none rendendo quindi il campo visibile.

    il problema è che ho provat ad impostarlo sul mio form ma nn ci sono riuscito
    il primo problema è :
    -come faccio ad assegnare un secondo evento onclick al radiobutton SI [il primo è quello che abilita disabilita , il secondo sarebbe quello che mostra nasconde]
    - come faccio a far si che una volta impostato ( ad esempio SI ) l'unico modo per visualizzare i campi impostati per il NO sia solo cliccare su NO ? ( dato che da un tentativo mi è capitato che continuando a premere su SI [radio] ad ogni click switchava lo status dei campi
    - come faccio a far si che una volta clicckato si ( sempre esempio ) mi mostri determinati campi e altri li nasconda ?

    spero di essere stato chiaro .. se qualcosa non dovesse risultarlo cercherò di essere piu preciso.
    grazie a chiunque voglia/possa aiutarmi ^_^
    Ciu
    !!!
    See ya
    !!!

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Il fatto che il codice che hai trovato funzioni su IE e' una sorta di miracolo... in teoria dovrebbe solo fornire una mitragliata di errori

    Per fare quanto chiedi non ci sono difficolta' insormontabili... ma per agevolare il nostro compito sarebbe meglio fornire una pagina di prova a cui applicare gli script occorrenti, tanto per non doverci inventare tutto e impiegare il nostro (poco) tempo a creare una pagina ex-novo, rischiando poi che nella tua pagina reale ci siano elementi non previsti che potrebbero creare problemi.

    Meglio ancora se posti un link alla tua pagina attuale

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    certo ^_^

    anche se devo dirti che quel codice che ho postato l'ho testato sia su Exploder sia sul firefox.
    ad ogni modo il form si trova qua
    è molto scheletrico al momento... ma direi che mi va bene cosi prima di passare lo stucco... vorrei quantomeno tirare su le 4 mura ghgh
    ^_^


    grazie Br1 ^^
    Ciu
    !!!
    See ya
    !!!

  4. #4
    up

    opz avevo sbagliato indirizzo per il link ...


    .. ora correggo ^_^ .... anzi nn posso perche sono passati piu di 60 min

    cmq ... lo riposto:

    PAGINA
    Ciu
    !!!
    See ya
    !!!

  5. #5
    *update
    allora ho provato ad aggiungere ( nelle funzioni che abiliano e disabilitano i campi )
    la seguente riga per nascondere il campo
    codice:
    document.getElementById('RIGA2').style.display="none";
    e questa per mostrarlo
    codice:
    document.getElementById('RIGA2').style.display="";
    sembrerebbe funzionare sia su IE sia sul fox , mi rimetto a voi per sapere se è una soluzione corretta al 100% oppure esiste qualcosa di piu adatto.
    Ciu
    !!!
    See ya
    !!!

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.