В моем html я использовал тег из fetch данных из таблицы базы данных и хранения данных в другой table.my код:
<select class="form-control" name="name" required>
<option value="0">Please Select Hotel</option>
<?php
while($row = mysqli_fetch_assoc($get))
{
?>
<option value = "<?php echo($row['name'])?>" >
<?php echo($row['name']) ?>
</option>
<?php
}
?>
</select>
Я хочу добавить текст заполнить ниже, что выбрать вариант, где данные будут автоматически поле из базы данных после выбора из drop.My код:
<input type="text" class="form-control" placeholder="username" name="username" value="<?php echo($row['username']) ?>" disabled required />
Но после отправки, данные не сохраняются из текстового поля автозаполнения
Из заголовка "Автозаполнение текстового поля после выбора из раскрывающегося списка", я думаю, вы должны поместить значение выбранной опции в поле ввода. Если это так, вам нужно использовать JS
или jQuery
.
Если я прав, вы можете проверить приведенный ниже код:
// Pure JS
document.getElementById("selectname").onchange = function() {
var e = document.getElementById("selectname");
var strUser = e.options[e.selectedIndex].value;
document.getElementById("username").value = strUser;
};
// jQuery
$('body').on('change', '#selectname', function() {
$('#username2').val($('#selectname option:selected').val());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select name="name" id="selectname">
<option value="User 1">User 1</option>
<option value="User 2">User 2</option>
<option value="User 3">User 3</option>
<option value="User 4">User 4</option>
<option value="User 5">User 5</option>
</select>
<input type="text" class="form-control" placeholder="username" name="username" id="username" value="" disabled required />
<input type="text" class="form-control" placeholder="username" name="username2" id="username2" value="" disabled required />
Есть 2 раздела кода один для JS
и других с jQuery
Пожалуйста, обратите внимание на написание from
и form
как смешивание и в вашем коде не будет работать.
Добавьте теги формы в свой блок выбора/выпадающего списка, если вы хотите получить значение.
<form action="" method="POST">
<select class="form-control" name="hotelName" required>
<option value="0">Please Select Hotel</option>
<?php
while($row = mysqli_fetch_assoc($get))
{
echo "<option value ='".$row['name']."'>".$row['name']."</option>";
}
?>
</select>
<form>
оставляя action=""
отправляет форму на ту же страницу, если она отправляется на другую страницу, а затем добавляет ссылку на страницу.
method="POST"
отправляет форму с post request
если вы хотите использовать get request
на get request
затем изменить его на method="GET"
возьмите пользовательский ввод с помощью $_POST['hotelName']
или $_GET['hotelName']
также не забывайте всегда выполнять проверку на всех входах пользователя и использовать bindParam на нем перед сохранением в базе данных, тем не менее, лучше использовать PDO
вы должны отметить ниже:
<input type="textbox" name="Percentage" value="100" disabled />
<input type="textbox" name="Percentage" value="100" readonly/>
только для чтения
отключен
=> Итак, вы должны изменить "отключено" на "readonly" → отправить данные после отправки.
решение:
<input type="text" class="form-control" placeholder="username" name="username" value="<?php echo($row['username']) ?>" readonly required />
name="username"
значением, которое выбрано в раскрывающемся списке?select
? Или под каждым тегомoption
вы помещаете поле ввода (это выглядит странно, хотя в тегеselect
могут быть только тегиoption
)?