我制作了一些变量,其中包含在我的下拉菜单中选择的答案。现在我想在我的.php文件中使用这些变量,这样我就可以查询它们。但我无法弄清楚我做错了什么,所以这是我的代码。
这是我的main.js文件:
$("#slctTable").change(function(){
var table = document.getElementById("slctTable");
var tableSelected = table.value;
console.log(tableSelected);
});
$("#slctField").change(function(){
var field = document.getElementById("slctField");
var fieldSelected = field.value;
console.log(fieldSelected);
});
$("#slctAttribute").change(function(){
var attribute = document.getElementById("slctAttribute");
var attributeSelected = attribute.value;
console.log(attributeSelected);
});
这是我的getData.php文件:
<?php
include "connect.php";
$test1 = $_GET['tableSelected'];
$test2 = $_GET['fieldSelected'];
$test3 = $_GET['attributeSelected'];
echo ($test1);
echo ($test2);
echo ($test3);
?>
答案 0 :(得分:1)
您必须将用户重定向到包含URL中变量的页面。 PHP在服务器上运行脚本,然后将该脚本的输出发送到客户端。 JavaScript仅在客户端上运行。你可以这样做:
$('#slctTable').change(function(){
var table = document.getElementById("slctTable");
var tableSelected = table.value;
console.log(tableSelected);
window.location.href = "?tableSelected=" + tableSelected
});
或者,您可以发出Ajax请求以在不刷新页面的情况下调用服务器。你可以用这个:
$('#slctTable, #slctField, #slctAttribute').change(function ()
{
var tableSelected = document.getElementById("slctTable").value;
var fieldSelected = document.getElementById("slctField").value;
var attributeSelected = document.getElementById("slctAttribute").value;
$.ajax({
"url": "getData.php",
"type": "GET",
"data": {
tableSelected: tableSelected,
fieldSelected: fieldSelected,
attributeSelected: attributeSelected
}
})
.done(function (response)
{
console.log(response);
});
});
答案 1 :(得分:0)
使用Jquery,您可以使用Ajax来实现:
$("#slctTable").change(function(){
var table = document.getElementById("slctTable");
var tableSelected = table.value;
console.log(tableSelected);
});
$("#slctField").change(function(){
var field = document.getElementById("slctField");
var fieldSelected = field.value;
console.log(fieldSelected);
});
$("#slctAttribute").change(function(){
var tableSelected = slctTable.val();
var fieldSelected= slctField.val();
var attributeSelected = $(this).val();
$.get( "getData.php?tableSelected="+tableSelected+"&fieldSelected="+fieldSelected+"&attributeSelected="+attributeSelected )
.fail(function(data){
alert('Ajax Call Error');
})
.done(function(){
alert('Success');
});
});
});