下拉列表更改后执行php文件?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (65)

我想知道如何做到这一点。

我有一个PHP表单,这个表单包含两个下拉字段“Campaigns”和“Users”。我想首先显示广告系列字段,然后在您选择广告系列后,第二个下拉字段会加载该广告系列的用户。

广告活动:

$conn = new PDO("mysql:host=$servername;dbname=timeclock", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// "Connected successfully";
$result = $conn->query("SELECT Campaign_ID,Name FROM campaigns;");
//SELECT TAG with js Function getEmployee()
echo "<select name='cmplist' class='ifield' onchange='getEmployee();'>";

while ($row = $result->fetch(PDO::FETCH_ASSOC)) {

    unset($Campaign_ID, $Name);
    $Campaign_ID = $row['Campaign_ID'];
    $Name = $row['Name'];
    echo '<option value="'.$Campaign_ID.'">'.$Campaign_ID.' • '.$Name.'</option>';
}
echo "</select>";

我正在尝试使用JavaScript加载(基本上)相同的代码,但基于所选的广告系列的代理结果。

有没有像file_get_contents()JS 一样的功能?

这就是我现在所拥有的(可怕的,我知道):

function getEmployee() {
  document.getElementById("campanadas").innerHTML= <?php file_get_contents("camps.php?camp=" + document.getElementById("campannas").value) ?> ;
}

当然还有php文件:

$conn = new PDO("mysql:host=$servername;dbname=timeclock", $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
//echo "Connected successfully";
$result = $conn->query("SELECT Employee,FName,LName FROM users WHERE Active = 1 AND Campaign_ID =".$_GET["camp"].";");
echo "<td class='frmname'>Agent's Name:</td> <td class='topfield' id='campannas'></td>";
echo "<select name='emplist' class='ifield'>";
while ($row = $result->fetch(PDO::FETCH_ASSOC)) {

  unset($Employee, $FName, $LName);
  $Employee = $row['Employee'];
  $FName = $row['FName'];
  $LName = $row['LName']; 
  echo '<option value="'.$Employee.'">'.$Employee.' • '.$FName.' '.$LName.'</option>';

}
echo "</select>";

在此先感谢您的时间。

提问于
用户回答回答于

这就是我所需要的。

function getEmployee() {
var url = "camps.php?camp=" + document.getElementById('campannas').value;
var xhttp = new XMLHttpRequest();
xhttp.open("GET", url, true);
xhttp.send();

xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
        document.getElementById("campanadas").innerHTML = this.responseText;
    }
};

}

谢谢你们。

扫码关注云+社区

领取腾讯云代金券