Newsgroup: it.comp.lang.javascript
Titolo: input type = radio e refresh della pagina.

Ciao a tutti,
se in una pagina html ho un form con delle inputbox di tipo radio, è 
possibile ricaricare la pagina appena uno cambia il check delle radio button 
senza bisogno di premere un bottone?
Come si può fare? Conoscete esempi da cui posso prendere spunto?
 
 
grazie infinite
Fabry 
 
 

 senza bisogno di premere un bottone?
 
Si, ti basta aggiungere un listener all'evento onchange o onclick.
Qualcosa tipo:
 
    <script>
        function reloadWin(){
            window.location.reload(true);
        }
    </script>
 
    <input type="radio" name="radReload"
        value="1" onchange="reloadWin()"/>
    <input type="radio" name="radReload"
        value="2" onchange="reloadWin()"/>
    <input type="radio" name="radReload"
        value="3" onchange="reloadWin()"/>
 
Vedasi:
 
 
https://developer.mozilla.org/en/DOM/window.location#Methods
 
 
https://developer.mozilla.org/en/DOM/element.onchange
 
 
Ma ho il sospetto che quello che hai chiesto non sia quello che vuoi. In
quanto ricaricare una pagina del genere non fa che "resettarla", e
magari quel che vuoi fare è inviare il valore del radio al server.

Mi spiego meglio:
ho un form in una pagina html:
 
<form name="filtra" id="prova" action="prova.php" method="POST" >
<div align="left"><br>
<input type="radio" name="canale" value="all" ">Tutti<br> <input 
type="radio" name="canale" value="85"  checked>Catering<br><input 
type="radio" name="canale" value="86" >Multiple Retail<br><input 
type="radio" name="canale" value="89" >Retail
</div>
<input type="submit" name="submit" value="Applica">
 </form>Premendo il bottone tutto ok.Se invece levo il bottone e metto 
onchange="this.form.submit();<form name="filtra" id="prova" action="1" 
method="POST" onchange="this.form.submit();"  >
<div align="left"><br>
<input type="radio" name="canale" value="all" >Tutti<br><input type="radio" 
name="canale" value="85"  checked>Catering<br><input type="radio" 
name="canale" value="86" >Multiple Retail<br><input type="radio" 
name="canale" value="89" >Retail
</div>
</form>Non vengono passate le variabili e quindi non posso recuperarle con 
POST_['canale'];Qualcuno può spiegarmi come aggirare il problema?grazie 
 
 

 ha scritto nel messaggio 
news:4F9019A7...@ID-171124.news.individual.net...


 ma in realtà non vengono passate le variabili.....
 
Il codice javascript è corretto, quello che mi sbagli – secondo il
codice dell'altro tuo post – è dove metti l'onchage. Sembra tu lo metta
nel tag form, quando lo devi mettere nei tag input; guarda il mio codice
per capire meglio cosa intendo.
 
Puoi anche associarlo tramite javascript, in quel caso dovrebbe bene
anche metterlo nel tag form, filtrando l'`event.target`.

ci sono riuscito!!! il problema era che bisognava chiamare
document.filtra.form() dove filtra è il name del mio form. io avevo provato 
document.prova.form() con prova che era l'id.
 
Ora ho un altro piccolo problema, quando mi ricarica la pagina mi visualizza 
un messaggio di windows:
 
"Questa pagina sta per essere reindirizzata verso una destinazione diversa. 
Inviare nuovamente i dati del modulo appena compilato al nuovo indirizzo?"
 
C'è un modo per non fare apaprire questo messaggio?
grazie 
 
 

 C'è un modo per non fare apaprire questo messaggio? grazie
 
Dipende cosa intendi con "mi ricarica la pagina", quello è il messaggio 
che ti mostra quando apri una pagina con dati inviati via post e poi fai 
un reload o premi F5/Ctrl-R. Non puoi farci nulla, devi cambiare logica 
(es. risettare href, se fa al caso tuo, o ricaricarla inviando una form).

 ha scritto nel messaggio 
news:jmpon6$qlc$1...@dont-email.me...


 onchange="document.submit();"
 
document.submit non esiste
 
se stai inviando una form quel messaggio *NON* deve comparirti, quindi 
stai sbagliando qualcosa.

 C'è un modo per non fare apaprire questo messaggio?
 
Se usi la stessa locazione non dovrebbe darti tale problema.