Как включить зависимый выпадающий список в тег формы? - PullRequest
0 голосов
/ 28 января 2019

У меня есть рабочий зависимый выпадающий список, который работает гладко, когда он не помещен в тег формы.Как только я заключаю его в тег формы, он перестает работать.Как я могу включить этот код в тег формы?

Я просто попытался запустить код без использования тега формы.Работает отлично.Чтобы передать значения на следующую страницу, я использовал тег формы, и тогда я получил пустой ответ (раскрывающийся список не загружался).

index.php

<?php
require_once("dbcontroller.php");
$query ="SELECT * FROM flat";
$results = mysqli_query($conn,$query); 
?>
<html>
<head>
<title></title>

<script src="https://code.jquery.com/jquery-2.1.1.min.js" type="text/javascript"></script>
<script>
function floor(val) {
    $.ajax({
    type: "POST",
    url: "get_info.php",
    data:'floor='+val,
    success: function(data){
        $("#floor").html(data);
    }
    });
}

function flatno(val1) {
    $.ajax({
    type: "POST",
    url: "get_info.php",
    data:'flatno='+val1,
    success: function(data){
        $("#flatno").html(data);
    }
    });
}


</script>
</head>
<body>


<form method="post" action="a.php"><br>


Select Wing:
<select name="wing" onChange="floor(this.value);">
<option value="">---------</option>
<?php
foreach($results as $row) {
?>
<option value="<?php echo $row["wing"]; ?>"><?php echo $row["wing"]; ?>                
</option>
<?php
}
?>
</select>

<br><br>
Select Floor:
<select name="floor" id="floor" onChange="flatno(this.value);">
<option value="">---------</option>
</select>


<br><br>
Select Flat No:
<select name="flatno" id="flatno">
<option value="">---------</option>
</select>

<input type="submit">

</form>

</body>
</html>    

get_info.php

<?php
require_once("dbcontroller.php");

if(!empty($_POST["floor"])) {
$query ="SELECT * FROM flat WHERE wing = '".$_POST["floor"]."'";
$results = mysqli_query($conn,$query); 
?>
    <option value="">Select Floor</option>
<?php
    foreach($results as $row) {
?>
    <option value="<?php echo $row["floor"]; ?>"><?php echo $row["floor"];         
?></option>
<?php
    }
}
?>

<?php
if(!empty($_POST["flatno"])) {
    $query ="SELECT * FROM flat WHERE floor = '".$_POST["flatno"]."'";
    $results = mysqli_query($conn,$query);
?>
    <option value="">Select Flat no</option>
<?php
    foreach($results as $row) {
?>
    <option value="<?php echo $row["flatno"]; ?>"><?php echo     
$row["flatno"]; ?></option>
<?php
    }
}
?>

a.php

<?php

include_once 'dbcontroller.php';

$wing =mysqli_real_escape_string($conn,$_POST['wing']);  
$floor =mysqli_real_escape_string($conn,$_POST['floor']);  
$flatno=mysqli_real_escape_string($conn,$_POST['flatno']); 

echo "<h2>Flat No : " . $flatno . "</h2>";
echo "<h2>Email : " . $floor . "</h2>";
echo "<h2>Email : " . $wing . "</h2>";
?>

Я ожидал, что все 3 раскрывающихся списка будут работать, но только 1-й выпадающий список загружается, а остальные 2 пустые.

1 Ответ

0 голосов
/ 28 января 2019

вы должны использовать другое имя для своих функций, например floor1 () и flatno1 (), потому что фамилии (floor () и flatno ()) используются для идентификатора имени других элементов,

inhtml коды:

Изменить onchange = " floor () " на onchange = " floor1 () "

Изменить onchange = " flatno ()"to onchange =" flatno1 ()"

в кодах JavaScript:

Изменить" function floor ()"to" function floor1 ()"

Изменить" function flatno ()"на" function flatno1 () "

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...