javascript - 使用 php 使用动态选择标记填充的文本框字段
问题描述
您好,我对 php 和 javascript 非常陌生(非常),我有一个问题,我正在尝试使用来自我的数据库(phpmyadmin)的数据填充 2 个基于动态选择标记(功能性)的文本框. 我的问题出现在 ajax 上(对此非常新)。我不断收到错误“未捕获的 ReferenceError:$ 未定义”。这是我正在使用的代码。
<?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 & meat counters">Fish & 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 && 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']));
解决方案
推荐阅读
- android - Android YouTube Player API 显示错误:ERROR_CONNECTING_TO_SERVICE
- sqlalchemy - 如何查询多个多态继承表上的关系?
- python-3.x - Tkinter .see() 方法不在文本框 1 中滚动。它只是在动态创建的最后一个文本框中滚动
- flutter - Flutter 重绘应用栏
- neural-network - Keras 训练 为什么训练准确度提高而验证准确度保持不变?
- php - echo $output['subject'] - CSS 属性
- azure - Azure AD 密钥滚动多久发生一次?
- java - 为什么 IdlingResource 在 Android API 22 上的 Espresso 测试中为空?
- android - 旋转设备后出现“onSaveInstanceState 后无法执行此操作”异常
- wpf - WPF 和 MVVM。显示和隐藏带有超时的标签