我试图从下拉菜单中获取一个值,并将其作为php变量传递并回显(在同一页面上)。
该下拉列表显示用户的名称,但是选择他们要回显的用户名。如果可以成功回显该变量,则可以使用该变量执行其他任务。
我已经使用jquery和ajax来获取变量,而没有提交页面。但是我无法获取php变量。
我已经阅读并使用了几个示例,但是以某种方式我的代码无法正常工作。 任何人都可以建议错误在哪里吗?
这是我的代码:
Test2.php
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
<table>
<tr>
<td>
<select name="user" id="user" >
<option disabled selected value> - Select User - </option>
<?php
$sql_select = mysqli_query($conn,"SELECT username, surname, fname FROM user WHERE v_flag != 0 ORDER BY surname ASC ");
while ($result = mysqli_fetch_assoc($sql_select)){
$name = ($result['surname']. ', '.$result['fname']);
echo '<option value = " '.$result['username']. '">'.$name.'</option>';
}
?>
</select>
</td>
</tr>
</table>
<script type="text/javascript">
$(document).ready(function() {
$("#user").change(function() {
var user = $(this).val();
$.ajax({
url:"test2.php",
data:{username : user},
type:'POST',
success:function(response) {
$("#usermame").html(response);
}
});
});
});
</script>
<?php
if (isset($_POST['username'])){
$username = $_POST['username'];
if (!empty($username)){
echo 'You have selected user: '.$username ;
}
}
?>
答案 0 :(得分:1)
form
答案 1 :(得分:0)
您的成功处理程序正在以ID用户名的html元素将请求内容打印在页面上不存在(至少在此代码段中不存在)
success:function(response) {
$("#usermame").html(response);
}
尝试向其他文件发出POST请求,因为在您的情况下,打印的内容将再次包含select(和db请求)。