2013-09-02 10 views
6

Mam formularz, który wyświetla dwa przyciski opcji (za pomocą PHP).HTML: Wyślij formularz za pomocą przycisku wyboru opcji radiowej

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>"; 

Jeden z przycisków opcji jest zawsze domyślnie zaznaczony. Jeśli użytkownik zaznaczy drugi przycisk opcji, chciałbym, aby formularz został przesłany (bez konieczności klikania przycisku "Wyślij").

+1

Musisz JavaScript do tego. – j08691

Odpowiedz

13

Można to zrobić za pomocą jQuery (umieścić kod wewnątrz znacznika </body>):

<script type='text/javascript'> 

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

</script> 

DEMO HERE

Aby dodać jQuery na swojej stronie umieścić tę linię wewnątrz znacznika <head>:

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

Przepraszam za moją ignorancję, ale nie mam doświadczenia w javascript i prawdopodobnie nie będę tego potrzebował w mojej witrynie, z wyjątkiem tego fragmentu. Czy jest to funkcja javascript, którą muszę umieścić w mojej głowie? Rozumiem kod, ale nie wiem, gdzie on idzie. – Juicy

+0

Tak, dodaję wyjaśnienie –

2

Użyj odbiornika onchange:

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

Będziesz musiał po prostu nadać identyfikatorowi swojego przycisku opcji. Identyfikator może być taki sam jak nazwa, aby zachować prostotę.

17

można dodać to do swojego wejścia:

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

jak:

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

Twoja odpowiedź była znacznie prostsza. Dziękuję Ci. – Jeeva

Powiązane problemy