Jquery HTML/PHP表单-Don';不要因变化而刷新

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

我有下面的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


对于这种只修改页面的一部分的方式,您需要一个特殊的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');}}});});