gpt4 book ai didi

php - 当 AJAX 使用基于下拉菜单选择显示数据时按钮不起作用

转载 作者:行者123 更新时间:2023-11-29 16:08:25 25 4
gpt4 key购买 nike

我有一个我们的页面(index.html),用户可以从下拉菜单中选择选项。根据选择,数据将从数据库中获取并使用 AJAX 显示在同一页面上(第二个文件称为 getParameter.php)。一切正常。现在我尝试添加一个按钮,以便打开一个新页面,用户可以编辑新值并将其发送到数据库。但按下按钮没有任何作用。我用其他 html 文件尝试过。它在其他地方都有效。如有任何帮助,请

索引.html

//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>

//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 会变成奇怪的东西。它不会编辑.html。即使我刷新页面,奇怪的 URL 仍然存在。即使它显示了index.html页面,URL中也有一些额外的东西

最佳答案

您在 URL 中看到的内容是 get 参数。您通过使用 method='get' 告诉表单以这种方式提交。

这会将所有输入的名称及其值发送到 URL 中,并将它们“附加”到您选择的操作页面。

例如,单击该按钮将转到 edit.html,其中包含提交的获取参数以及“单击以编辑”的值。任何具有 name 属性的内容都将作为 get 参数发送。您不需要提交输入的名称。

如果您使用提交按钮将选择放入表单中,它将发送选择的参数,这意味着您可以在编辑页面中使用它。

<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>

我从输入中删除了名称,因为这会导致它作为 GET 参数发送。使用上述内容,您将被发送到/edit.html?submit=Click+to+Edit,然后您可以在编辑页面中使用它来获取您需要的内容。

希望这有帮助。

关于php - 当 AJAX 使用基于下拉菜单选择显示数据时按钮不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55512289/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com