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

    Modulo: attivare disattivare campi da radiobutton

    Salve a tutti.

    Allora mi trovo in difficoltà. Sto creando un form da spedire tramite cgi presente nel server. Mi trovo a dover realizzare una particolare funzione. Ad un certo punto nel modulo ho 2 radiobutton. Selezionandone uno (all'apertura della pagina sono entrambi deselezionati) dovrebbero comparire al di sotto nuovi campi text o di altro tipo. Selezionando l'altro si dovrebbe deselezionare il precedente e in medesima posizione dovrebbero comparire altri campi. Spero la cosa sia realizzabile... Io ho cercato un pò in giro e ho trovato solo qualche script per nascondere un campo o un'intero modulo ma viste le mie scarse conoscenze non sono riuscito a modificarli....
    Spero qualcuno mi possa indicare una soluzione valida che non mi crei problemi con l'invio dei dati tramite il cgi. Grazie!

  2. #2
    Ho trovato anche questo postato da Xinod:

    Codice:

    <html>
    <head>
    <title></title>
    <script type="text/javascript">
    function abilita(riga){
    var tab=document.getElementById("tabella").getElements ByTagName("TR")
    for(var k=0;k<tab.length;k++){
    var bool=(k==riga)?false:true
    var inpt=tab[k].getElementsByTagName("INPUT")
    for(var q=0;q<inpt.length;q++){
    if(inpt[q].type=="text"){
    tab[k].getElementsByTagName("INPUT")[q].disabled=bool
    }
    }
    }
    }

    </script>
    </head>
    <body>
    <form>
    <table id="tabella">
    <tr>
    <td><input type="radio" name="rd" value="0" onclick="abilita(this.value)"></td>
    <td><input type="text" disabled="disabled"></td>
    <td><input type="text" disabled="disabled"></td>
    </tr>
    <tr>
    <td><input type="radio" name="rd" value="1" onclick="abilita(this.value)"></td>
    <td><input type="text" disabled="disabled"></td>
    <td><input type="text" disabled="disabled"></td>
    </tr>
    </table>
    </form>
    </body>
    </html>


    Dovrei a questo punto sotituire le text attivabili con altri tipi di campi ma questi non funzionano... i campi diversi da text rimangono disattivati anche dopo aver selezionato il radio....
    Please help me!

  3. #3
    Visto che nessuno ha risposto alla mia richiesta ho provato a sperimentare e sono riuscito ad attivare tramite campo <radio> dei campi text e dei campi checkbox. L'unica cosa che non mi riesce è attivare o disattivare glia ltri tipi di campo come zelect> per esempio. Inoltre se provo a disattivare una serie di campi in cui sono già stati inseriti sei dati questi rimangono compilati nonostante siano disabilitati. Potete aiutarmi a fare in modo che disabilitandosi si cancellino i dati inseriti? grazie.

    Posto codice pagina di test:

    <!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 abilita(riga){
    var tab=document.getElementById("tabella").getElements ByTagName("TABLE")
    for(var k=0;k<tab.length;k++){
    var bool=(k==riga)?false:true
    var inpt=tab[k].getElementsByTagName("INPUT")
    for(var q=0;q<inpt.length;q++){
    if((inpt[q].type=="text")||(inpt[q].type=="checkbox")){
    tab[k].getElementsByTagName("INPUT")[q].disabled=bool
    }
    }
    }
    }
    //-->
    </script>

    </head>

    <body>

    <form>

    <table id="tabella" width="448" border="0" cellpadding="0" cellspacing="0">

    <tr>
    <td width="448" height="177" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">

    <tr>
    <td height="27" colspan="2" valign="top"><input type="radio" name="rd" value="0" onclick="abilita(this.value)"></td>
    </tr>
    <tr>
    <td width="173" height="32" valign="top"><input name="email" type="text" disabled="disabled" id="email2"></td>
    <td width="275" valign="top"><input type="checkbox" disabled="disabled" name="checkbox" value="checkbox"></td>
    </tr>
    <tr>
    <td height="29" colspan="2" valign="top"><input type="checkbox" disabled="disabled" name="checkbox2" value="checkbox"></td>
    </tr>
    <tr>
    <td height="89"></td>
    <td></td>
    </tr>
    </table></td>
    </tr>
    <tr>
    <td height="178" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">

    <tr>
    <td width="448" height="32" valign="top"><input type="radio" name="rd" value="1" onclick="abilita(this.value)"></td>
    </tr>
    <tr>
    <td height="37" valign="top"><input name="text" type="text" disabled="disabled"></td>
    </tr>
    <tr>
    <td height="109"></td>
    </tr>
    </table></td>
    </tr>
    </table>

    </form>

    </body>
    </html>

  4. #4

    funzione modificata

    if((inpt[q].type=="text")||(inpt[q].type=="checkbox")){
    tab[k].getElementsByTagName("INPUT")[q].disabled=bool
    tab[k].getElementsByTagName("INPUT")[q].value=""
    tab[k].getElementsByTagName("INPUT")[q].checked=false
    }

  5. #5
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    @francescoperchi
    Ti sei iscritto, hai eseguito una ricerca, per scrivere una cosa che non centra nulla (visto che il suo problema di 6 anni fa era disabilitare delle elementi select) tutto questo immagino per noia. Complimenti
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

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.