我想总结一下group name ='s'和group name ='v'的值 单击单选按钮时,它们会调用功能块(str,str2)
问题是,似乎ajax的执行一下子就出现了。当第二组被激活时,不能获得第一组的值,反之亦然
这些是输入
<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";
?>
请帮忙。新手在这里
答案 0 :(得分:1)
一些观察结果:
onclick
元素的input
中,您使用一个参数调用pieces
,而函数需要并使用两个参数(str
和str2
) :它需要在ajax调用中调用正确的URL。因此,最好立即执行以下操作,而不是立即调用pieces
:通过查看组str
中当前选定的选项,创建一个收集str2
和s
值的函数和小组v
。然后,您可以使用这两个值调用pieces
。答案 1 :(得分:0)
最后我得到了自己问题的答案。我会在这里发布,以便有人提出同样的问题。
<html>
<head>
<script LANGUAGE="JavaScript">
function calc()
{
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
if (document.form.value1[0].checked)
s = 6;
else if (document.form.value1[1].checked)
s = 12;
else if (document.form.value1[2].checked)
s = 24;
if (document.form.value2[0].checked)
v = 5;
else if (document.form.value2[1].checked)
v = 0;
document.getElementById("resp").innerHTML="Calculating...";
queryPath = "CalcServ.php?value1="+s+"&value2="+v;
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("resp").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET",queryPath);
xmlhttp.send();
}
</script>
</head>
<body>
<div width="320">
<center>
<form name="form">
<font size="4"><strong>PHP/AJAX Calculator</strong></font><br/><br/>
<input onclick='calc(this.value);' id="6" type="radio" name="value1" value="6">6<br/>
<input onclick='calc(this.value);' id="12" type="radio" name="value1" value="12">12<br/>
<input onclick='calc(this.value);' id="24" type="radio" name="value1" value="24">24<br/>
<br/>
<input onclick='calc(this.value);' id="y" type="radio" name="value2" value="yes">yes<br/>
<input onclick='calc(this.value);' id="n" type="radio" name="value2" value="no">no<br/>
</form>
<strong><font size="4" color="blue"><span id="resp"></span></font></strong>
</center>
</div>
</body>
</html>
这是要调用的页面
<?php
if ($_REQUEST["value1"] == "6" && $_REQUEST["value2"] == "5")
$sum = 6 + 5;
else if ($_REQUEST["value1"] == "6" && $_REQUEST["value2"] == "0")
$sum = 6;
else if ($_REQUEST["value1"] == "12" && $_REQUEST["value2"] == "5")
$sum = 12 + 5;
else if ($_REQUEST["value1"] == "12" && $_REQUEST["value2"] == "0")
$sum = 12;
else if ($_REQUEST["value1"] == "24" && $_REQUEST["value2"] == "5")
$sum = 24 + 5;
else if ($_REQUEST["value1"] == "24" && $_REQUEST["value2"] == "0")
$sum = 24;
echo $sum;
?>