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

    cambiare valore a un radio button

    Ciao a tutti, ho un carrello e-commerce in cui ci sono varie impostazioni da scegliere tramite form, c'è un gruppo di radio button che gestisce la modalità di spedizione e nello stesso form un altro gruppo gestisce la modalità di pagamento.
    Devo fare in modo che quando viene selezionata un valore del primo gruppo cambi in automatico la selezione sul secondo. Questo il codice

    <form>
    <input type='radio' name='spedizione' value='1' onclick="setSped('1')"> ritiro in sede
    <input type='radio' name='spedizione' value='2' onclick="setSped('2')"> indirizzo fatturazione
    <input type='radio' name='spedizione' value='3' onclick="setSped('3')"> altro indirizzo


    <input type='radio' name='pagamento' value='1'> carta di credito
    <input type='radio' name='pagamento' value='2'> bonifico
    <input type='radio' name='pagamento' value='3'> contanti

    </form>

    Praticamente devo fare in modo che se mi selezionano nel primo gruppo un qualsiasi valore che non sia 1 (ritiro in sede) nel secondo gruppo si deve selezionare il valore 1 (carta di credito)

    Ho messo a tutti i radio del primo gruppo la funzione setSped() ma non conosco la sintassi jscript per impostare il valore di un determinato radio.
    "Link2me.it: Professional network e Marketplace"
    www.link2me.it

  2. #2
    Allora io proverei in questo modo:
    codice:
    <form>
    <input type='radio' name='spedizione' value='1' oncahnge="seleziona()" onclick="setSped('1')"> ritiro in sede
    <input type='radio' name='spedizione' value='2' oncahnge="seleziona()" onclick="setSped('2')"> indirizzo fatturazione
    <input type='radio' name='spedizione' value='3' oncahnge="seleziona()" onclick="setSped('3')"> altro indirizzo
    
    
    <input type='radio' name='pagamento' value='1'> carta di credito
    <input type='radio' name='pagamento' value='2'> bonifico
    <input type='radio' name='pagamento' value='3'> contanti
    
    </form>
    
    
    function seleziona()
       {
        //prendo tutti gli elementi con name setSped
        var setSpeds=document.getElementsByName('setSped');
        //e quelli con name pagamento
        var pagamenti=document.getElementsByName('pagamento');
        //se il primo elemento del 1° gruppo è selezionato...
        if(setSpeds[0].checked==true)
           {
            selezione il 1° del 2° gruppo e disattivo gli altri 2
            pagamenti[0].checked=true;
            pagamenti[1].disabled=true;
            pagamenti[2].disabled=true;
           }
           else
           {
            pagamenti[1].disabled=false;
            pagamenti[2].disabled=false;
           }
       }
    Magari ci sono soluzioni migliori, ma non è molto che pratico Javascript.
    Non ho provato se funziona, ciao.

  3. #3
    Ciao, ma tu l'hai provato e ti funziona? a me no
    "Link2me.it: Professional network e Marketplace"
    www.link2me.it

  4. #4
    Proprio questo no, ma ho fatto cose simili. Purtroppo adesso non posso provarlo, se stasera non hai risolto proverò, al momento non mi sembra ci siano incongruenze, ma potrei sbagliarmi.
    Potresti fare delle prove con gli apici, ad esempio:

    codice:
    if(setSpeds[0].checked==true)
    prova con gli apici.

    codice:
    if(setSpeds[0].checked=='true')//credo che vada così
    se non sbaglio quando si fa il confronto vanno gli apici, invece nell'assegnamento no.

  5. #5
    ma guarda questa parte della funzione non l'ho utilizzata, io ho già una funzione che mi serve per mostrare o nascondere un div al click sul primo gruppo (solo in caso di selezione su ritiro in sede si apre radio con valore pagamento in conti) quindi mi serviva solo la riga che deselezionava il pulsante di pagamento in contanti.
    "Link2me.it: Professional network e Marketplace"
    www.link2me.it

  6. #6
    ok, allora correggo la sintassi, ho dimenticato style

    codice:
    elemento.style.disabled=true;
    L'ho fatto altre volte, ma adesso sono al lavoro e non potevo verificare.

    Scrivo la funzione corretta anche se non ti serve tutta

    codice:
     
    function seleziona()
       {
        //prendo tutti gli elementi con name setSped
        var setSpeds=document.getElementsByName('setSped');
        //e quelli con name pagamento
        var pagamenti=document.getElementsByName('pagamento');
        //se il primo elemento del 1° gruppo è selezionato...
        if(setSpeds[0].checked==true)
           {
            selezione il 1° del 2° gruppo e disattivo gli altri 2
            pagamenti[0].checked=true;
            pagamenti[1].style.disabled=true;
            pagamenti[2].style.disabled=true;
           }
           else
           {
            pagamenti[1].style.disabled=false;
            pagamenti[2].style.disabled=false;
           }
       }

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.