当我使用以下ajax函数发送变量时,num和value这两个变量仅获取num变量值。我怎么能传递不同的价值观。任何人都可以帮助我吗?
<script>
function calculate_rate(num,value)
{
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("costing").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","data.php?num="+num+"&value="+value,true);
xmlhttp.send();
}// showHint
</script>
<span id="costing"></span>
<form>
<label>Number</label>
<span>
<select name="num" onchange="calculate_rate(this.value)">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select><br />
</span>
<label>Value</label>
<span>
<input type="text" name="value" value="" onchange="calculate_rate(this.value)" />
</span>
</form>
答案 0 :(得分:1)
每次调用只传递两个变量中的一个。试试这个
function calculate_rate(num,value)
{
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("costing").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","data.php?num="+num+"&value="+value,true);
xmlhttp.send();
}// showHint
</script>
<span id="costing"></span>
<form>
<label>Number</label>
<span>
<select id="num" onchange="calculate_rate(this.value,document.getElementById('value').value))">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select><br />
<label>Value</label>
<span>
<input type="text" id="value" value="" onchange="calculate_rate(document.getElementById('num').value,this.value)" />
</span>
</form>