#javascript #php #mysql #ajax
#javascript #php #mysql #ajax
Вопрос:
Здравствуйте, я очень новичок (очень) новичок в php и javascript, и у меня проблема, я пытаюсь заполнить 2 текстовых поля на основе тега dynamic select (который является функциональным) данными, которые поступают из моей базы данных (phpmyadmin). Моя проблема возникает с ajax (очень новым для этого). Я продолжаю получать сообщение об ошибке «Неперехваченная ошибка ссылки: $ не определен». вот код, с которым я работаю.
<?php
$pdo = new PDO("mysql:host=localhost;dbname=test1;charset=utf8", "root", "");
?>
<html>
<head>
<link type="text/css" rel="stylesheet" href="style.css"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> <!-- You will need jQuery (or anyother javascript framework) to accomplish your goal cause you need ajax -->
<title>Training</title>
</head>
<body>
<div id="content">
<h1 align ="center">Add Training</h1>
<form action="inserttraining.php" method="post">
<div>
<p>
Employee ID:
<select id="id">
<option value="">Select one</option>
<?php
$st = $pdo->prepare("SELECT id FROM testinput");
$st->execute();
$rows = $st->fetchAll(PDO::FETCH_ASSOC);
foreach ($rows as $row) {
?><option value="<?php echo $row ['id']; ?>"><?php echo $row ['id']; ?></option><?php
}
?>
</select>
<p>
First name:
<input type="text" name="fname" id="fname">
</p>
<p>
Last name:
<input type="text" name="lname" id="lname">
</p>
<p>
Training required?
<select name="Training">
<option value="">Select...</option>
<option value="Customer Service">Customer Service</option>
<option value="Bailer">Bailer</option>
<option value="Reception">Reception</option>
<option value="Fish amp; meat counters">Fish amp; meat counters</option>
<option value="Cheese counters">Cheese counters</option>
</select>
</p>
<input type="submit">
</form>
</div>
<script type="text/javascript">
$(document).ready(function() {
$('#id').change(function() {
var $self = $(this);
$.post("getDetails.php", { id : $self.val()}, function(json) {
if (json amp;amp; json.status) {
$('#fname').val(json.fname);
$('#lname').val(json.lname);
}
})
});
})
</script>
</body>
</html>
<?php
$pdo = new PDO("mysql:host=localhost;dbname=test1;charset=utf8", "root", "");
header("Content-Type:application/json; Charset=utf-8");
$st = $pdo->prepare("SELECT fname, lname FROM testinput WHERE id = :id");
$st->execute(array ('id' => $_POST['id']));
$data = $st->fetch(PDO::FETCH_ASSOC);
echo json_encode(array ('status' => true, 'fname' => $data ['fname'], 'lname' => $data ['lname']));
Комментарии:
1. Хорошо, итак, мне действительно удалось заставить его работать. Глупый я, я должен подготовить document.by используя $(document). готово(функция() ( { });