jquery - HTML/PHP 表单 - 更改时不刷新
问题描述
我有以下 HTML 表单和 PHP 查询,它们根据下拉选择显示数据库条目。一般来说,查询和表单都在工作,但我想阻止整个网页刷新,但仍然显示数据。
我知道罪魁祸首是onchange="this.form.submit();"
但是,我无法让它与 jquery.1.8.3.min 一起使用。jquery的目录/路径是src="js/jquery.1.8.3.min.js"
这是我的 HTML 表单和 PHP 查询的完整代码。非常感谢您的支持。
<?php
if(isset($_POST['gebiet1'])){
$selected_val = $_POST['gebiet1']; // Storing Selected Value In Variable
echo "Sie haben " .$selected_val." selektiert."; // Displaying Selected Value
}
?>
<?php
require_once ('config.php');
$db = mysqli_connect (
MYSQL_HOST,
MYSQL_BENUTZER,
MYSQL_KENNWORT,
MYSQL_DATENBANK
);
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
<div id="select">
<select name="gebiet1" onchange="this.form.submit();">
<?php
$gebietausgabe = mysqli_query($db, "SELECT DISTINCT Gebiet FROM kernfragen");
while ($row = $gebietausgabe->fetch_assoc())
{
echo '<option value="' . $row['Gebiet'] . '">' . $row['Gebiet'] . '</option>';
}
?>
</select>
</div>
</form>
<?php
if(isset($_POST['gebiet1'])){
$ergebnis = mysqli_query($db, "SELECT idKernfragen, Kernfrage FROM kernfragen WHERE Gebiet='".$selected_val."'");
while($row = mysqli_fetch_object($ergebnis))
{
echo $row->idKernfragen;
echo '.) ';
echo $row->Kernfrage;
print "<br>";
}
}
?>
解决方案
如果您想避免完全重新加载页面,您需要避免提交表单,因为这会加载操作 url。
对于这种只修改部分页面的方式,您需要AJAX,它需要一个特殊的 javascritp 来触发请求并交换内容,还需要一个服务器脚本,它只返回您需要交换的部分(没有带有头部的整个 html 页面,css , ...)
推荐阅读
- php - Laravel 附加和同步问题
- android - 从 Firebase 检索数据时出现协程流错误
- java - 为什么通过 Thrift 发送时 java.nio.ByteBuffer 会发生变化?
- javascript - 在 JQuery 中将复选框值作为 JSON 传递
- android - 世博会推送通知声音和弹出窗口不起作用
- npm - 无法将我的更改部署到 GitHub 页面
- firebase - 任务“:app:transformClassesAndResourcesWithR8ForRelease”执行失败。在尝试获取颤振应用程序的 apk 时
- java - 一个用户有两个角色的输出
- html - 如何在(wix)iframe中显示完整的视频?
- sql - 选择基于第一次登录和最后一次注销的轮班时间