Jquery HTML/PHP表单-Don';不要因变化而刷新
我有下面的HTML表单和PHP查询,它们根据下拉选择显示数据库条目。一般来说,查询和表单都可以正常工作,但我希望阻止整个网页刷新,但仍然可以显示数据 我知道罪魁祸首是Jquery HTML/PHP表单-Don';不要因变化而刷新,jquery,html,forms,refresh,onchange,Jquery,Html,Forms,Refresh,Onchange,我有下面的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
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
对于这种只修改页面的一部分的方式,您需要一个特殊的javascritp来触发请求并交换内容,还需要一个服务器脚本,它只返回您需要交换的部分(没有完整的html页面的标题、css等等)嗨,Praveen,非常感谢您查看主题并作出响应。我看不出我的问题与您发布的链接有什么关系:我找不到解决方案,在onchange=“this.form.submit()”语句周围应该更改什么。我希望您查看已接受的答案,其中显示了表单提交。我将取消投票。嗨,伯纳德,非常感谢。使用Ajax,我如何引用表单,因为它的名称是just walk your DOM。如果它是页面中唯一的表单,您可以使用document.form
,否则您可以使用this.form
或任何选择器来标识输入字段以获取其值。不要忘了在javascript的末尾返回false,否则该操作可能会通过重新加载页面来执行,以便快速响应。这还不起作用-有什么建议吗?非常感谢$(函数(){$(document.form).on('submit',函数(e){e.preventDefault();$.ajax({type:'post',data:$('form').serialize(),success:function(){alert('form was submitted');}}});});