ラジオ ボタンから php スイッチに値を送信したいのですが、スイッチが ajax 応答を取得しません。これが私のフォームです:
<form action="" id="demoForm" method="post">
<fieldset>
<legend>Demo form</legend>
<span style="font-size: 0.9em;">This ajax submit demo form.</span>
<p>
<input class="myradio" type="radio" name="email" value="pop" />
<input class="myradio" type="radio" name="email" value="gdp" />
</p>
<p>
<input type="submit" name="submit" id="submit" style="float: right; clear: both; margin-right: 3px;" value="Submit" />
</p>
</fieldset>
</form>
これが私のjsファイルです:
$(document).ready(function(){
$('#submit').click(function(e) {
e.preventDefault();
email = $(".myradio:checked").val()
$.ajax({
type : 'GET',
url : 'index.php',
data: {
"email" : email},
dataType : 'json',
success : function(data){
$('#message').removeClass().addClass((data.error === true) ? 'error' : 'success').text(data).show(500);
if (data.error === true)
$('#demoForm').show(500);
}
});
return false;
});
});
そして、これがスイッチ付きの私のindex.phpです:
<?php
$action = htmlspecialchars(trim($_GET['email']));
switch ( $action ) {
case 'pop':
pop();
break;
case 'gdp':
gdp();
break;
default:
homepage();
}
function pop() {
require("chore2.php");
}
function gdp() {
}
function homepage() {
require("homepage.php");
}
?>
firebug では、応答が正しいように見えることを確認できます。つまり、index.php?email=pop です。
しかし、スイッチは値を取得せず、何も起こりません。理由を知っている人はいますか?