我正在尝试使用datalist元素。一切都工作有点小故障。可选列表显示2列,包括street_id和street列。我需要提交的street_id,但不希望street_id显示在datalist中。
<?php
require 'connect_mysqli.php';
$sql = "SELECT * FROM streets";
$result = mysqli_query($con, $sql) or die ("Error " . mysqli_error($con));
?>
<form action="test.php" name="test" method = "post">
<datalist id="street" name="streets">
<?php while($row = mysqli_fetch_array($result)) { ?>
<option value="<?php echo $row['street_id']; ?>"><?php echo $row['street']; ?></option>
<?php
}
?>
</datalist>
<input type="text" name="street_val" id="test" autocomplete="off" list="street">
<input type="submit" value="Submit">
</form>
<?php
mysqli_close($con);
//test the output value
echo $_POST['street_val'];//
?>
&#13;
答案 0 :(得分:1)
您已编码一个选择列表 - 其中包含显示和返回值的单独值。在datalist中,您只需要value =“”作为选项,然后它将只返回该值。最好还是将服务器代码和显示代码分开:即在PHP中用查询填充或构建数组,然后在HTML中只显示它。