下拉重新加载页面,然后检索值
Dropdown reload page then retrieve value
到目前为止,Hello一直在尝试使用这行代码,我的目标是通过select然后select获取值,这样页面将使用所述值重新加载,这样我也许能取回它。这两者都是一种形式。这就是我应该在重新加载后使用我的值的地方。
<input type="hidden" name="student_id" class="typed" readonly="readonly" value="<?php echo @$get_display->student_id;?>">
这就是我试图在获得上面的值时重新加载页面的方法。
<select name="lvl" onchange="window.location='search_enroll.php?id='$_GET['student_id']">
感谢您的帮助。
这就是我检索的方式我在上一条语句中遇到了问题重新加载后的值。
if (!empty($_POST['searchstudent'])){
$id = $_POST['searchstudent'];
}else if(!empty($_GET['id'])){
$id = $_GET['id'];
}
else {
$id= $_GET['student_id'];
}
当您编写时
<select name="lvl" onchange="window.location='search_enroll.php?id='$_GET['student_id']">
实际上,您导航到的student_id与进入页面的student_id相同。
你想做的是问"用户选择了哪个student_id?"并在下一页加载中使用它。
HTML应该看起来像
<form action="search_enroll.php">
<select name="id" onchange="submit()">
<option> student_id_1 </option>
<option> student_id_2 </option>
...
</select>
</form>
如果有任何问题,请告诉我。
这里有一个JSFiddle来模拟重新加载。(它将显示一个404,因为"search_enroll.php"不存在,但您仍然可以看到重载工作。)
编辑:在我被解释了这个选择的目的后,添加了"隐藏"输入字段
如果你有两个字段(student_id,grade),你应该在表单中添加一个隐藏的输入字段
<form action="search_enroll.php">
<input value="<?php echo $_GET['student_id']?>" type="hidden"/>
<select name="grade" onchange="submit()">
<option> student_id_1 </option>
<option> student_id_2 </option>
...
</select>
</form>
这将确保用户之前选择的student_id将传递给另一个重载。
如果您在表单中,您可以在更改时提交表单:
onchange="document.yourForm.submit()"
所有参数都将可用于您的PHP脚本。
您不想在select
元素中使用PHP,因为它是在生成页面(服务器响应)时填充的,但您要做的是在将请求发送到服务器时填充它。
最简单的方法是使用onchange="document.aForm.submit()"
,在该字段更改时,简单地提交带有任何值的表单。您的服务器端验证需要能够理解这是部分提交,并且不应向用户显示错误消息。
回答发帖人的问题:
您有以下事件链:
- 客户端请求表单页面
- 服务器发送响应,
select
元素填充有option
元素 - 客户端选择
select
元素中的一个option
元素 - 客户端向服务器发送请求,其中包括选定的
option
(不知何故) - 服务器发送响应,其中一些表单元素已更改,客户端在上次请求中选择的
option
元素已预先选定
服务器不能在步骤1中预填充select
元素的onchange
属性(并且不应该在步骤5中预填充,因为客户端可能改变其选择);服务器不知道客户端将选择哪个选项,直到客户端在步骤3选择并在步骤4将该选择发送到服务器。
我和其他人建议使用submit()
而不是window.location
的原因是,对于表单,客户端可以按任何顺序填写字段,或者您可以稍后在select
之前添加字段,在这种情况下,最好保留这些选择。如果PHP在生成表单时从POST
对象中获取所有字段,则submit
会保留这些字段。如果使用window.location
,则会丢失GET
请求中未包含的所有字段。
如果确实要使用window.location
,则必须使用JavaScript来获取路径的选定option
的值(类似于?id=document.aForm.selectElement.options[document.aForm.selectElement.selectedIndex]
)。
- 下拉重新加载页面,然后检索值
- 创建一个bookmarklet,可以检索文本框的所有最大长度,然后在表中打印id和最大长度
- 将Javascript发布到PHP,然后在另一个javascript中检索
- 如何使用 JQuery 检索设置了特定类的所有标签的列表,然后从这些标签中删除内容
- 如何将动态追加元素的多个值存储到单个 var 中,然后检索到函数中
- 使用两个 Ajax 调用来发布然后检索数据
- 如何将文本字段('+<>$“)中的特殊字符保存到数据库中,然后使用 PHP 检索它们
- 如何合并两个 JSON 文件,然后检索它
- 如何使用javascript存储然后从Parse中检索图像
- 检索两个列表,对值进行排序和比较,然后显示所有结果
- 从localStorage检索,然后在php中使用
- 如何存储拖动&将项目放入cookie,然后在另一个页面中检索
- 使用Web API从数据库中检索图像,然后将其显示在angularJS中
- 用密钥加密javascript中的pass,然后检索原始密码(尽可能安全)
- 在检索数据时,表单填充然后清除
- 在JavaScript中检索CSS属性,然后对其进行修改
- 如何将数组推入关联数组,然后检索值进行比较
- 将Javascript对象保存到NoSQL数据库中,然后检索它
- HTML5 Web存储-存储JSON数据,然后检索它
- 如何使用 ajax 发布一些内容,然后检索它