Javascript 分配给HTML输入的变量';JS脚本无法理解通过PHP传递的s值
我正在做一个网站的项目,它显示了一个图表。用户应该能够通过单击下拉选项中的“可用传感器”来更改显示的图表(无需更改网站)。下拉列表连接到MySQL数据库和使用过的传感器。传感器的id分配给HTML输入id,其名称分配给输入值 我的意图是在另一个data.php文件中使用传感器ID,该文件负责使用传感器收集的数据连接到表(MySQL)。这个ID将告诉这个程序应该连接哪些表 目前,JS脚本的任务是在单击下拉菜单时提醒所选传感器的ID。我收到的信息不是一个数字,而是“未定义”。最终,它会将存储的id传输到提到的data.php文件 您能告诉我在这种情况下是否有必要使用AJAX,或者我的代码中出现这种错误的可能原因是什么吗 我也试着用按钮代替输入。单击下拉列表中的传感器名称时,我只收到带有“1”的消息。然而,分配Javascript 分配给HTML输入的变量';JS脚本无法理解通过PHP传递的s值,javascript,php,mysql,ajax,charts,Javascript,Php,Mysql,Ajax,Charts,我正在做一个网站的项目,它显示了一个图表。用户应该能够通过单击下拉选项中的“可用传感器”来更改显示的图表(无需更改网站)。下拉列表连接到MySQL数据库和使用过的传感器。传感器的id分配给HTML输入id,其名称分配给输入值 我的意图是在另一个data.php文件中使用传感器ID,该文件负责使用传感器收集的数据连接到表(MySQL)。这个ID将告诉这个程序应该连接哪些表 目前,JS脚本的任务是在单击下拉菜单时提醒所选传感器的ID。我收到的信息不是一个数字,而是“未定义”。最终,它会将存储的id传
sensorName
在这两种情况下都有效。传感器ID在MySQL表中存储为INT,名称为VARCHAR
提前感谢您的帮助:)
getElementsByClassName
返回至少一个项的数组(如果找到)。您必须提供要使用的元素的索引
例子
请检查此代码,工作正常
<input type="submit" id="btn" value="Available sensors" class="btn btn-success" />
<div class="dropdown-content">
<?php
include("config.php");
$sql = "SELECT * FROM sensors";
$result = $db->query($sql);
if($result->num_rows > 0){
while($row = $result->fetch_assoc()){
$sensorID = $row["id"];
$sensorName = $row["WebName"];
?><input onclick="changeSensorID(event)" onmouseover="this.style.textDecoration='underline'"
onmouseout="this.style.textDecoration='none'" class="btn_drop" id="<?php echo $sensorID ?>"
value="<?php echo $sensorName ?>" /></a>
<?php
}
}
?>
</div>
<script >
function changeSensorID(event){
var sensorID = event.target.id;
alert(sensorID);
}
</script>
</div>
document.getElementsByClassName(“btn\u drop”)
返回多个元素,而不仅仅是一个元素。您必须使用类似于document.getElementsByClassName(“btn_drop”)[0]的东西。id
我已更改了代码,并且它会再次显示每个传感器带有“1”的消息。有什么建议吗?如果有任何问题,请在这里发布,我会很快抓住你的。请添加一个解释,说明你所做的更改以及它解决问题的原因。你获取ID的语法是错误的。var sensorID=document.getElementsByClassName(“btn_drop”).id;为此,我使用了基于事件的JavaScript代码。
var sensorID = document.getElementsByClassName("btn_drop")[0].id;
<input type="submit" id="btn" value="Available sensors" class="btn btn-success" />
<div class="dropdown-content">
<?php
include("config.php");
$sql = "SELECT * FROM sensors";
$result = $db->query($sql);
if($result->num_rows > 0){
while($row = $result->fetch_assoc()){
$sensorID = $row["id"];
$sensorName = $row["WebName"];
?><input onclick="changeSensorID(event)" onmouseover="this.style.textDecoration='underline'"
onmouseout="this.style.textDecoration='none'" class="btn_drop" id="<?php echo $sensorID ?>"
value="<?php echo $sensorName ?>" /></a>
<?php
}
}
?>
</div>
<script >
function changeSensorID(event){
var sensorID = event.target.id;
alert(sensorID);
}
</script>
</div>