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

    reset radio con onchange

    Ciao a tutti.
    E' possibile fare il reset e quindi deselezionare tutti i radio buttons indipendentemente dal nome del loro gruppo all'onchange di un select button?

    Premetto che i pulsanti radio non hanno un id ma solo il name che tra l'altro è dinamico e si trovano tutti nello stesso form.

    volendo potrei anche aggiungere l'id.

    Grazie in anticipo.

  2. #2
    up!
    Nessuno che mi sappia dare una dritta?

  3. #3
    ciao,

    puoi provare così:

    codice:
    function reset_radio(){
     var el = document.getElementById('idform').elements;
     for(var i=0;i<el.length;i++)
      if(el[i].type=="radio"&&el[i].checked) el[i].checked=false;
    }
    da richiamare così:

    codice:
    <select onchange="reset_radio();" ...>
    saluti

  4. #4
    Semplicemente perfetto!
    Ma questo resetta tutti i radio indipendentemente dal gruppo vero?
    Sto cercando di capirci bene in js e ti chiedo, se ne hai voglia, te la senti di tradurre funzione per funzione in modo da poter capire cosa fa questo scriptino?
    Grazie infinite comunque.

  5. #5
    Originariamente inviato da DigItalWarrior
    Semplicemente perfetto!
    Ma questo resetta tutti i radio indipendentemente dal gruppo vero?
    Sto cercando di capirci bene in js e ti chiedo, se ne hai voglia, te la senti di tradurre funzione per funzione in modo da poter capire cosa fa questo scriptino?
    Grazie infinite comunque.
    codice:
    function reset_radio(){
     var el = document.getElementById('idform').elements; // prelevo *tutti* gli elementi presenti nel form
     for(var i=0;i<el.length;i++) // eseguo un ciclo su di loro
      if(el[i].type=="radio"&&el[i].checked) el[i].checked=false;
      // se l'i-esimo elemento del form è un radiobutton ed è selezionato, lo deseleziono
    }
    sì, il codice agisce prescindendo dal gruppo (sempre se per gruppo tu intenda un insieme di radiobutton con lo stesso nome).

    saluti

  6. #6
    Originariamente inviato da moaiamorfo
    sì, il codice agisce prescindendo dal gruppo (sempre se per gruppo tu intenda un insieme di radiobutton con lo stesso nome).
    Esatto, intendevo proprio quello.
    Grazie infinite anche per la spiegazione che da modo a chi come me ne capisce poco di poter prendere spunto per poter imparare questo (a mio parere), complicatissimo ma spesso essenziale linguaggio.

    E' bello quando chiedi un aiuto e, grazie a persone come te ad esempio, te lo danno già pronto all'uso ma cosi a mio parere non entrerà mai in testa come funziona una cosa.
    Lo copio, lo incollo ed è finita li. E poi? Bisogna ogni volta chiedere e richiedere.

    Tornando allo script, giusto per avere un modello di confronto, come dovrebbe essere modificato per funzionare unicamente su un gruppo specifico di radio e non su tutti?

    Grazie

  7. #7
    Originariamente inviato da DigItalWarrior
    Lo copio, lo incollo ed è finita li. E poi? Bisogna ogni volta chiedere e richiedere.
    l'ideale sarebbe partire da una bella guida e applicare, passo dopo passo, i contenuti che propone.

    Tornando allo script, giusto per avere un modello di confronto, come dovrebbe essere modificato per funzionare unicamente su un gruppo specifico di radio e non su tutti?
    basta parametrizzare la funzione, passandogli il nome che ti interessa trattare:

    codice:
    function reset_radio(the_name){
     var el = document.getElementById('idform').elements; // prelevo *tutti* gli elementi presenti nel form
     for(var i=0;i<el.length;i++) // eseguo un ciclo su di loro
      if(el[i].type=="radio"&&el[i].checked&&e[i].name==the_name) el[i].checked=false;
      // se l'i-esimo elemento del form è un radiobutton, è selezionato e ha il nome che corrisponde a quello passato come parametro, lo deseleziono
    }
    ovviamente cambia anche la chiamata:

    codice:
    <select onchange="reset_radio('nomegrupporadio');" ...>
    Grazie
    you're welcome. :)

    saluti

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.