2013-09-02 9 views
6

私は2つのラジオボタン(PHPを使用)を表示するフォームを持っています。HTML:ラジオボタンチェックでフォームを送信

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

デフォルトでは、ラジオボタンの1つが常にオンになっています。 ユーザーが他のラジオボタンをチェックした場合、フォームを送信する(ユーザーが送信ボタンをクリックする必要はありません)。

+1

あなたはそのためにはJavaScriptが必要です。 – j08691

答えて

13

あなたはjQueryの(</body>タグ内のコードを置く)を使用してこれを行うことができます:あなたのページへのjQueryを追加するには

<script type='text/javascript'> 

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

</script> 

DEMO HERE

は、<head>タグ内に次の行を置く:

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

私は私の無知をお詫びしますが、私はjavascriptの経験がなく、おそらくこのビットを除いて私のサイトでそれを必要としません。それは私のページの頭に入れておく必要があるJavaScript関数ですか?私はコードを理解していますが、どこに行くのか分かりません。 – Juicy

+0

はい私は説明を追加します –

2

オンチップリスナーを使用します。

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

ラジオボタンに名前を付けるだけでいいです。 IDはあなたのために簡単に保つために、名前と同じにすることができます。

17

あなたの入力にこれを追加することができます

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

のように:

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

答えはずっと簡単です。ありがとうございました。 – Jeeva