ラジオボタンがクリックされたときにグループ名='s'とグループ名='v'の値を合計したかったので、関数pieces(str、str2)を呼び出します。
問題は、ここでのajaxの実行が一度に行われるように見えることです。2番目のグループがアクティブ化されているときに1番目のグループの値を取得できない、またはその逆
これらは入力です
<input type='radio' id='1' name='s' onclick='pieces(this.value);' value='6'>6
<input type='radio' id='2' name='s' onclick='pieces(this.value);' value='12'>12
<input type='radio' id='3' name='s' onclick='pieces(this.value);' value='24'>24
<input type='radio' id='11' name='v' onclick='pieces(this.value);' value='50'>Yes
<input type='radio' id='12' name='v' onclick='pieces(this.value);' value='0'>No
<div id='txtHint'>Sum will display here</div>
これが私のスクリプトです
$(document).ready(function(){
$('#btn').click(function(){
var str1=$('input:radio[name=s]').val();
var str2=$('input:radio[name=v]').val();
pieces(str1,str2);
});
});
function pieces(str1, str2)
{
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject('Microsoft.XMLHTTP');
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{ document.getElementById(txtHint).innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open('GET','url.php?var1='+str1+'&var2='+str2,true);
xmlhttp.send();
}
ここにajaxコードのリンクページがあります
<?php
$s = $_GET['s'];
$v = $_GET['v'];
if($s == 6 && $v == 50)
echo"value";
else if($s == 6 && $v == 0)
echo"value";
else if($s == 12 $v == 50)
echo"value";
else if($s == 12 $v == 0)
echo"value";
else if($s == 24 $v == 50)
echo"value";
else if($s == 24 $v == 50)
echo"value";
?>
助けてください。ここの初心者