如何在php中通过url传递html选择选项值
我试图通过url传递选择选项值。选择值来自mysql表。我想将该驱动程序名传递到另一个页面如何在php中通过url传递html选择选项值,php,Php,我试图通过url传递选择选项值。选择值来自mysql表。我想将该驱动程序名传递到另一个页面 <?php //another select query goes here. $query1= "SELECT * FROM driver WHERE status='Available'" ; echo '<td>'.'<select name="driver">'; $result1= mysql_query($qu
<?php
//another select query goes here.
$query1= "SELECT * FROM driver WHERE status='Available'" ;
echo '<td>'.'<select name="driver">';
$result1= mysql_query($query1);
while($row1 = mysql_fetch_assoc($result1))
{
echo '<option value="'.$row1["name"].'">'.$row1["name"].'</option>';
}
echo '</select>'.'</td>';
echo'<a rel="facebox" href=db_confirm_booking.php?id='.$row["id"].'&driver='.$_POST['driver'].'>' . 'Confirm' . '</a>';
?>
使用jQuery
调用下拉列表的更改事件
$(function(){
$("[name=driver]").die('change').live('change', function(){
var driver = $(this).val();
if (typeof driver !== 'undefined') {
window.location.href = 'YOUR_FILE.php?driver='+driver;
}
});
});
及
在your_FILE.php中,使用$_get['driver']获取驱动程序
或者,如果希望表单更安全,可以使用隐藏变量
更换驱动程序时,将其指定为“驱动程序”下拉列表的值
$(function(){
$("[name=driver]").die('change').live('change', function(){
var driver = $(this).val();
if (typeof driver !== 'undefined') {
window.location.href = 'YOUR_FILE.php?driver='+driver;
}
});
});
并张贴表格
在PHP文件中,以$\U POST['hid\U driver']的形式获取它。U可以为选择字段添加onclick函数,请尝试以下方法
<?php
//another select query goes here.
$query1= "SELECT * FROM driver WHERE status='Available'" ;
echo '<td>'.'<select name="driver" onchange="window.location.href=\'db_confirm_booking.php?driver=' . $_POST['driver'] . '&id=\'+this.value">';
$result1= mysql_query($query1);
while($row1 = mysql_fetch_assoc($result1))
{
echo '<option value="'.$row1["name"].'">'.$row1["name"].'</option>';
}
echo '</select>'.'</td>';
echo'<a rel="facebox" href=db_confirm_booking.php?id='.$row["id"].'&driver='.$_POST['driver'].'>' . 'Confirm' . '</a>';
?>
试试这个代码
<?php
//another select query goes here.
$query1= "SELECT * FROM driver WHERE status='Available'" ;
echo '<td>'.'<select name="driver"
onChange="window.location.href=this.value">';
$result1= mysql_query($query1);
while($row1 = mysql_fetch_assoc($result1))
{
echo '<option value="db_confirm_booking.php?id='.$row["id"].'&driver='.$_POST['driver'].'">"'.$row1["name"].'">'.$row1["name"].'</option>';
}
echo '</select>'.'</td>';
echo'<a rel="facebox" href=db_confirm_booking.php?id='.$row["id"].'&driver='.$_POST['driver'].'>
' . 'Confirm' . '</a>';
?>
示例代码
它将用url中的驱动程序名称重新加载页面。什么不起作用?显示错误未定义索引:C:\wamp\www\taxiweb\mainT\booking\u management.php第3010行中的驱动程序您可以在提交后获得驱动程序选择名称,或者使用ajax引用:这意味着您的$\u POST['driver']未声明!您还忘记了href attr的引号。在你最后的回音声明中。在C:\wamp\www\taxiweb\mainT\booking\u management.php第301s行的相同错误未定义索引外,您无法访问$row,直到相同。现在在两行中显示两个错误未定义索引。您能在booking\u management.phpecho第301行给我发送代码吗;试试这个代码echo“它是否工作正常”是的。它工作正常。但我想传递驱动程序名,也试试这个代码;
<select name="sel" id="sel" onchange="seturl(this.value)">
<option value=""></option>
</select>
<script>
function seturl(id)
{
document.forms[0].action="test.php?driver="+id;
document.forms[0].submit();
}
</script>