我试图通过在另一种表单上选择元素来进行选择更新,而不使用我遵循的一些教程(https://www.youtube.com/watch?v=AofECml9pQU)中的页面刷新并达到此目的(这是我的代码的一部分)。
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script type="text/javascript">
function chk() {
var jeu = document.getElementById('liaisonJeu').value;
var mode = document.getElementById('liaisonMode').value;
$.ajax({
type: 'post';
url: "afficheEtapepourLiasion.php",
data: {
jeu: jeu,
mode: mode
},
cache: false,
success: function(html) {
$('#LiaisonCompose').html(html);
}
});
return false;
}
</script>
<form>
<h5>Jeu</h5>
<select name="Jeu" id="liaisonJeu">
<?php
$req='SELECT Jeu.NomJeu FROM Jeu';
$resultat=$dbh->query($req);
while ($ligne=$resultat->fetch()) {
echo "<option>".$ligne[0];
}
?>
</select>
<h5>Mode</h5>
<select name="Mode" id="liaisonMode">
<?php
$req='SELECT Mode.NomMode FROM Mode';
$resultat=$dbh->query($req);
while ($ligne=$resultat->fetch()) {
echo "<option>".$ligne[0];
}
?>
</select>
<input type="submit" value="Afficher" onclick="return chk()">
</form>
<div id="LiaisonCompose"></div>我把这个发送到php文件
<?php
include('../connexion.inc.php');
?>
<?php
$test = 0;
if (isset($_POST['jeu'])) {
$jeu = $_POST['jeu'];
$test = $test + 1;
}
if (isset($_POST['mode'])) {
$mode = $_POST['mode'];
$test = $test + 1;
}
if ($test == 2) {
?>
<form action="LiaisonCompose.php" method="post">
<h5>Etape</h5>
<select name="Etape">
<?php
$req = 'SELECT Etape.NomEtape FROM Etape WHERE Etape.NomEtape LIKE' . $jeu . '_' . $mode . '_%;';
$resultat = $dbh->query($req);
while ($ligne = $resultat->fetch()) {
echo "<option>" . $ligne[0];
}
?>
</select>
<br /><br />
<input type="submit" value="Valider">
</form>
<?php
} elseif ($test == 1) {
echo "Missing data";
} else {
echo "No data";
}
?> 但是,当我在第一个表单上提交时,它将不会刷新页面。
发布于 2019-05-19 12:46:44
我的第一个问题似乎是出现了";“而不是",”on:
$.ajax({
type: 'post'; <--- here
url: "afficheEtapepourLiasion.php",
data: {
jeu: jeu,
mode: mode
},但是,当我提交它时,除了似乎刷新并返回到上面的页面之外,什么也不会发生。
编辑:现在开始工作了我的步骤出现了(这是因为我删除了一些html,这是因为我犯了一个错误。
发布于 2019-05-19 12:47:20
在这里,type: 'post';而不是;放置了,i.e:type: 'post', .try如下所示:
function chk(){
var jeu = document.getElementById('liaisonJeu').value;
var mode = document.getElementById('liaisonMode').value;
alert("hi");
$.ajax({
type: 'post',
url: "afficheEtapepourLiasion.php",
data: {
jeu: jeu,
mode: mode
},
cache: false,
success: function(html) {
$('#LiaisonCompose').html(html);
}
});
return false;
}<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form>
<h5>Jeu</h5>
<select name="Jeu" id="liaisonJeu">
<?php
$req='SELECT Jeu.NomJeu FROM Jeu';
$resultat=$dbh->query($req);
while ($ligne=$resultat->fetch()) {
echo "<option value='$ligne[0]'>".$ligne[0];."</option>"
}
?>
</select>
<h5>Mode</h5>
<select name="Mode" id="liaisonMode">
<?php
$req='SELECT Mode.NomMode FROM Mode';
$resultat=$dbh->query($req);
while ($ligne=$resultat->fetch()) {
echo "<option value='$ligne[0]'>".$ligne[0]."</option>"
}
?>
</select>
<input type="submit" value="Afficher" onclick="return chk()">
</form>
<div id="LiaisonCompose"></div>
`
发布于 2019-05-19 12:26:46
将onsubmit="return chk()"添加到您的<form>中将完成此任务
但无论如何,如果javascript中有错误,它将发布
为此,您必须检查您的浏览器控制台(F12),也许我在代码中没有看到一些东西!
https://stackoverflow.com/questions/56207725
复制相似问题