Php 当AJAX用于基于下拉菜单选择显示数据时,按钮不起作用
我有一个we页面(index.html),用户可以从下拉菜单中选择选项。根据选择,数据将从数据库中提取,并使用AJAX显示在同一页面上(第二个文件称为getParameter.php)。一切正常。现在,我尝试添加一个按钮,以便打开一个新页面,用户可以编辑并向数据库发送新值。但是按下按钮什么也不做。我尝试了其他html文件。它在其他任何地方都有效。需要帮忙吗 Index.htmlPhp 当AJAX用于基于下拉菜单选择显示数据时,按钮不起作用,php,html,mysql,Php,Html,Mysql,我有一个we页面(index.html),用户可以从下拉菜单中选择选项。根据选择,数据将从数据库中提取,并使用AJAX显示在同一页面上(第二个文件称为getParameter.php)。一切正常。现在,我尝试添加一个按钮,以便打开一个新页面,用户可以编辑并向数据库发送新值。但是按下按钮什么也不做。我尝试了其他html文件。它在其他任何地方都有效。需要帮忙吗 Index.html //AJAX <script> function showParameterData(
//AJAX
<script>
function showParameterData(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 (this.readyState == 4 && this.status == 200) {
document.getElementById("txtHint").innerHTML = this.responseText;
}
};
xmlhttp.open("GET","getParameterData.php?q="+str,true);
xmlhttp.send();
}
}
</script>
//drop down option selection
<body>
//showParameterData() is the function
<form>
<select name="Device" onchange="showParameterData(this.value)">
<option value="">Select</option>
<option value="1">Device A </option>
<option value="2">Device B </option>
<option value="3">Device C </option>
<option value="4">Device D </option>
<option value="5">Device E </option>
<option value="6">Device F </option>
</select>
</form>
//bitton to edit and send data
<div class="edit_button_class" style= "float:right;">
<form action="edit.html" method="get" target="_blank">
<input type="submit" name="submit" id ="mybutton1" value="Click to Edit" />
</form>
</div>
<div id="txtHint"></div>
</body>
//AJAX
函数showParameterData(str){
如果(str==“”){
document.getElementById(“txtHint”).innerHTML=“”;
返回;
}否则{
if(window.XMLHttpRequest){
//IE7+、Firefox、Chrome、Opera、Safari的代码
xmlhttp=新的XMLHttpRequest();
}否则{
//IE6、IE5的代码
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
xmlhttp.onreadystatechange=函数(){
if(this.readyState==4&&this.status==200){
document.getElementById(“txtHint”).innerHTML=this.responseText;
}
};
open(“GET”,“getParameterData.php?q=“+str,true”);
xmlhttp.send();
}
}
//下拉选项选择
//showParameterData()是函数
挑选
装置A
装置B
装置C
装置D
设备E
装置F
//bitton可编辑和发送数据
//getParameter.php
<?php
$q = intval($_GET['q']);
include ("DBconnect.php");
$conn= mysqli_connect( $dbhost, $dbuser, $dbpass, $db ) or die("Could not connect: " .mysqli_error($conn) );
$sql="SELECT * FROM parameter WHERE ID = '".$q."'";
$result = mysqli_query($conn,$sql);
while($row = mysqli_fetch_array($result)) {
$price = $row['price'];
$version = $row['version'];}
echo '<table>';
echo "<tr>
<th>Price of the Device :</th>
<td > $price </td>
</tr>";
echo "<tr>
<th>version of the Device :</th>
<td > $version </td>
</tr>";
echo '</table>';
echo '</div>';
您在URL中看到的内容是get参数。通过使用class='get'方法,您告诉表单以这种方式提交
这样做的目的是将输入的所有名称及其值发送到URL中,并将它们“附加”到您选择的操作页面
例如,单击该按钮将发送到edit.html,其中包含获取参数submit和该参数的值“Click to edit”。任何具有name属性的内容都将作为get参数发送。提交输入不需要名称
如果使用“提交”按钮将select放入表单中,它将发送select的参数,这意味着您可以在编辑页面中使用它
<div class="edit_button_class">
<form action="edit.html" method="get" target="_blank">
<select name="Device" onchange="showParameterData(this.value)">
<option value="">Select</option>
<option value="1">Device A </option>
<option value="2">Device B </option>
<option value="3">Device C </option>
<option value="4">Device D </option>
<option value="5">Device E </option>
<option value="6">Device F </option>
</select>
<input type="submit" id ="mybutton1" value="Click to Edit" />
</form>
</div>
挑选
装置A
装置B
装置C
装置D
设备E
装置F
我从输入中删除了这个名称,因为这会导致它作为GET参数发送。使用上面的命令,您将被发送到/edit.html?submit=单击+到+编辑,然后您可以在编辑页面中使用它来获取所需内容
希望这有帮助。您在URL中看到的内容是get参数。通过使用class='get'方法,您告诉表单以这种方式提交
这样做的目的是将输入的所有名称及其值发送到URL中,并将它们“附加”到您选择的操作页面
例如,单击该按钮将发送到edit.html,其中包含获取参数submit和该参数的值“Click to edit”。任何具有name属性的内容都将作为get参数发送。提交输入不需要名称
如果使用“提交”按钮将select放入表单中,它将发送select的参数,这意味着您可以在编辑页面中使用它
<div class="edit_button_class">
<form action="edit.html" method="get" target="_blank">
<select name="Device" onchange="showParameterData(this.value)">
<option value="">Select</option>
<option value="1">Device A </option>
<option value="2">Device B </option>
<option value="3">Device C </option>
<option value="4">Device D </option>
<option value="5">Device E </option>
<option value="6">Device F </option>
</select>
<input type="submit" id ="mybutton1" value="Click to Edit" />
</form>
</div>
挑选
装置A
装置B
装置C
装置D
设备E
装置F
我从输入中删除了这个名称,因为这会导致它作为GET参数发送。使用上面的命令,您将被发送到/edit.html?submit=单击+到+编辑,然后您可以在编辑页面中使用它来获取所需内容
希望这能有所帮助。它能起作用。很好,谢谢。如果我有两个下拉列表呢。让我们假设清单1-机械设备。清单2-电气设备。我只需要两个列表的一个编辑按钮。在edit.html页面中,我想提供再次选择是电气还是机械,然后选择设备名称。它可以工作。很好,谢谢。如果我有两个下拉列表呢。让我们假设清单1-机械设备。清单2-电气设备。我只需要两个列表的一个编辑按钮。在edit.html页面中,我想提供再次选择是电气还是机械的选项,然后选择设备名称。