2015-02-10 88 views
1

我想将两个变量传递给我的.php页面...下拉变量工作良好。但是当我添加一个额外的变量时,它只发送一个0而不是我在表单中输入的内容。将多个变量从HTML传递给PHP

我觉得我很接近这个解决方案......当我在这一行取代了许多:

xmlhttp.open("GET","getdeposit.php?q="+str + "&r=" +restaurant, true); 

代替+餐厅,我用+ 101 ......那么这页面正确传递101 ......但是当我只是在我的表单中输入的数字,则返回0

<html> 
<head> 


<script> 
function showUser(str) { 
if (str == "") { 
    document.getElementById("txtHint").innerHTML = ""; 
    return; 
} else { 
    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","getdeposit.php?q="+str + "&r=" +restaurant, true); 
    xmlhttp.send(); 
} 
} 
</script> 

</head> 
<body> 

<form> 
<p> 
<label for="restaurant">Restaurant:</label>    
<input type="text" id="restaurant" name="restaurant" placeholder="Enter Restaurant" /> 
</p> 
<select name="users" onchange="showUser(this.value)"> 
    <option value="">select a date</optoin> 
    <option value=" ">Today</option> 
    <option value="1">Yesterday</option> 
    <option value="2">Two Days Ago</option> 
    </select> 
</form> 

<div id="txtHint"><b>Select Business Date</b></div> 

</body> 
</html> 
+0

您是否在您的showUser函数中设置了变量餐厅?我看不到它,也许这就是问题所在。 – 2015-02-10 19:20:24

回答

1

添加if语句在你的js函数如下略高于:

 var restaurant = document.getElementById('restaurant').value; 
+0

此解决方案不工作 – 2015-02-10 19:27:30

+1

这工作完美。非常感谢你的帮助! – kloodge 2015-02-10 19:30:47

+0

@DeFirmo我在js函数的第一个IF上面添加了它,它对我很有用。 – kloodge 2015-02-10 19:32:26