我有一张表格。在表单中,我有一个从数据库填充的人名的下拉菜单。表单的其余部分由几个输入字段,地址,电话,电子邮件组成。此信息也存储在同一数据库中。我想要的是当您从下拉菜单中选择一个名称时,其余的表单字段会自动/动态地填充该人员的相关数据。没有刷新,没有提交,没有转到另一个页面填充的字段。我认为这是一个ajax请求,我需要在表单上使用onChange函数,但我只是不确定。不想只使用javascript jQuery。我没有在这方面取得多大成功,这让我很生气。任何帮助,将不胜感激。以下是我的代码片段:
<option value="" selected="selected" class="firstLine">select a name</option>
<?php $query = "SELECT * FROM customers ORDER BY id ASC";
$run = mysqli_query($dbc, $query);
while($row = mysqli_fetch_assoc($run)){
$row['fullname'] = $row['first'].' '.$row['surname'];?>
<option value="<?php echo $row['id'];?>"><?php echo $row['fullname']; ?></option><?php } ?>
</select>
<input type="text" name="address" id="address" value="" disabled="disabled"><br />
<input type="text" name="phone" id="phone" value="" disabled="disabled"><br />
<input type="text" name="email" id="email" value="" disabled="disabled"><br />
答案 0 :(得分:0)
我经常采用的方法是创建一个小型getData类型的服务端点。
例如在php:*但您可以在c#中轻松完成此操作,就像我在以下链接中所做的那样。 http://chadcollins.com/json-service-output-from-sql-select-using-c/
请注意我的示例脚本中如何打印出JSON ajax读取调用所需的格式。如果你想要示例PHP代码让我知道,我可以把它拉到一起。
答案 1 :(得分:0)
这是你需要做的事情
<option value="" selected="selected" class="firstLine">select a name</option>
<?php $query = "SELECT * FROM customers ORDER BY id ASC";
$run = mysqli_query($dbc, $query);
while($row = mysqli_fetch_assoc($run)){
$row['fullname'] = $row['first'].' '.$row['surname'];?>
<option value="<?php echo $row['id'];?>" onchange="getdata()"><?php echo $row['fullname'];?></option>
<input type="hidden" name="addressinfo" value="<?php echo $row['address']?>">
<input type="hidden" name="phoneno" value="<?php echo $row['phone']?>">
<input type="hidden" name="emailid" value="<?php echo $row['email']?>">
<?php } ?>
</select>
<input type="text" name="address" id="address" value="" disabled="disabled"><br />
<input type="text" name="phone" id="phone" value="" disabled="disabled"><br />
<input type="text" name="email" id="email" value="" disabled="disabled"><br />
now you can use javascript to populate the value to those input boxes
<script>
function myFunction() {
var phone= document.getElementById("phoneno").value;
var address = document.getElementById("addressinfo").value;
var email= document.getElementById("emailid").value;
document.getElementById('phone').value(phone);
document.getElementById('email').value(email);
document.getElementById('address').value(address);
}
</script>