2013-09-02 15 views
6

Ho un modulo che visualizza due pulsanti di opzione (utilizzando PHP).HTML: Invia modulo sul pulsante di opzione controllo

echo "<form action=\"next.php\" method=\"post\">"; 
    echo "<input type=\"radio\" name=\"paid\" value=\"0\" checked=\"checked\">No<br>"; 
    echo "<input type=\"radio\" name=\"paid\" value=\"1\">Yes<br>"; 
echo "</form>"; 

Uno dei pulsanti di opzione è sempre selezionato per impostazione predefinita. Se l'utente controlla l'altro pulsante di opzione, desidero che il modulo si sottometta (senza che l'utente debba fare clic su un pulsante di invio).

+1

Avrete bisogno di JavaScript per questo. – j08691

risposta

13

È possibile farlo utilizzando jQuery (mettere il codice all'interno del tag </body>):

<script type='text/javascript'> 

$(document).ready(function() { 
    $('input[name=paid]').change(function(){ 
     $('form').submit(); 
    }); 
    }); 

</script> 

DEMO HERE

Per aggiungere jQuery alla tua pagina, mettere questa linea all'interno del tag <head>:

<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js'> 
</script> 
+0

Mi scuso per la mia ignoranza, ma non ho esperienza in javascript e probabilmente non ne avrò bisogno sul mio sito eccetto per questo bit. È una funzione javascript che devo inserire nella testa della mia pagina? Capisco il codice, ma non so dove va. – Juicy

+0

Sì, aggiungerò la spiegazione –

2

Utilizzare un listener onchange:

$("#paid").change(function(){ 
alert("test"); 
}); 

Devi solo dare al tuo radio un id per accompagnare il nome. L'ID può essere lo stesso del nome, per mantenerlo semplice per te.

17

è possibile aggiungere questo nella vostra ingresso:

onchange='this.form.submit();' 

come:

echo "<form action=\"next.php\" method=\"post\">"; 
    echo "<input onchange='this.form.submit();' type=\"radio\" name=\"paid\" value=\"0\" checked=\"checked\">No<br>"; 
    echo "<input onchange='this.form.submit();' type=\"radio\" name=\"paid\" value=\"1\">Yes<br>"; 
echo "</form>"; 

DEMO

+2

la tua risposta è stata molto più semplice. Grazie. – Jeeva

Problemi correlati