Ajax无法发送多个变量

时间:2013-08-16 13:16:57

标签: php javascript ajax

当我使用以下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>   

1 个答案:

答案 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>