我有一个Bootstrap模式,允许用户选择他们想要完成的航班,然后重定向到一个表格。我不确定如何将他们选择的选项值(flight_id
)传递或发布到表单,以便它显示为/formpostflight.php?flight_id=23.html
,我可以使用GET
来检索来自URL的id并使用它来使用SQL正确插入表单数据。是否可以使用PHP来实现这一点,还是需要JavaScript / jQuery?任何帮助将不胜感激。
模态:
<div id="SelectPreFlight" class="modal fade" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">Select Tech Log</h4> </div>
<div class="modal-body">
<div class="container-fluid">
<div class="row">
<div class="col-md-12">
<h5>Please select a pre-flight log to complete:</h5>
<div class="row">
<form method="get" action="/formpostflight.html"
<select class="form-control">
<?php
include 'config.php';
$conn=new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT flight_id, flight_date, duration, pilot_initial_pre, flight_nature FROM tbl_flights;";
$result = mysqli_query($conn, $sql) or die("Error " . mysqli_error($conn)); ?>
<?php while($row = mysqli_fetch_array($result)) { ?>
<option value = <?php echo $row['flight_id']?> > <?php echo date("d/m/Y", strtotime($row['flight_date'])) . ", " . $row['pilot_initial_pre'] . ", " . $row['flight_nature'] . ", " . date("H:i:s", strtotime($row['auth_duration'])); ?></option>
<?php } ?>
</select>
</div>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<a class="btn btn-info" type="submit" href="/formpostflight.html?flight_id=">Select</a>
</div>
</form>
</div>
</div>
</div>
答案 0 :(得分:0)
您需要在<form>
标记中包含您想要提交的任何输入。
action
param是您希望表单发送数据的目标页面。
method
参数指定发送数据时使用的get
或post
方法。
您还没有命名您的select
参数。给它一个名称属性,因此它将与表单一起发送。
你有按钮,我猜是要提交表格。您需要在表单上添加id
标记,并在按钮上使用相同名称的form
标记:
<form action='/page-to-direct-to/' method='get' id='form1'>
<button type="submit" form="form1" value="Submit">Submit</button>
</form>
我会改用输入:
<form action='/page-to-direct-to/' method='get'>
<!-- other inputs -->
<select class="form-control" name='flight_id'>
<?php // php code ?>
</select>
<input type='submit' value='Submit' name='Submit' />
</form>
答案 1 :(得分:0)
据我了解,您想要什么。我已经完成了一个简单的代码片段。您可以尝试让我知道。在这里,我刚刚从Dropdown
中选取了一个值,并将其分配给锚标记(在您的情况下为Select
名称)。现在,当您看到定位标记时,它将生成一个URL。
下拉菜单中的每一项更改都会使锚标记的网址变得类似
。/formpostflight.html?flight_id=1
/formpostflight.html?flight_id=2 //and so on...
const change_url = () => {
var id = $('#record option:selected').val();
var submit = $("#submit_url");
if (id != '')
submit.attr('href', "/formpostflight.html?flight_id=" + id);
else
submit.attr('href', "#");
};
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id="record" onchange="change_url()">
<option value="">Choose</option>
<option value="1">First</option>
<option value="2">Second</option>
<option value="3">Third</option>
<option value="4">Fourth</option>
</select>
<a href="#" id='submit_url'>Select</a>