我有一个搜索网站。 我希望我的主页上的搜索栏表单在结果页面上可见。
有哪些解决方案可以预加载表单中的所有各种元素? 有3个文本字段,2个单选按钮和两个复选框。
目前我不得不用php函数打断每个元素,看看$ _GET ['valueName']是否等于当前元素选项,但这看起来太复杂和难看了。
并行示例:
<select name="section">
<option value="free" selected="<? if($_GET['section'] == 'free'){echo 'selected';} ?>">Free</option>
<option value="under100" selected="<? if($_GET['section'] == 'under100'){echo 'selected';} ?>">Under $100</option>
<option value="under200" selected="<? if($_GET['section'] == 'under200'){echo 'selected';} ?>">Under $200</option>
<option value="any" selected="<? if($_GET['section'] == 'any'){echo 'selected';} ?>">Any price</option>
</select>
我还没有知道它甚至可以运行,但是没有客户端填充表单的方法吗?
答案 0 :(得分:0)
如果您希望表单中的变量传递到另一个页面并显示在该页面上,您可以执行以下操作:
<form action="new_page.php" method="POST">
<input type="text" name="search_phrase">
</form>
然后在您的new_page上,您可以加载它们并显示它们:
<?php
if(isset($_POST['search_phrase'])){ echo $_POST['search_phrase']; }
?>
这可能是将表单数据加载到新页面的最简单方法;如果你不想使用frame,div或AJAX。我会给出一个更具体的答案,但你没有提供示例代码;但无论哪种方式,这种方法应该可以正常工作。
如果您希望整个搜索栏本身都包含在两个页面中,您可以将搜索栏放在不同的php文件中,然后将其导入:
include('my_search_bar.php');
如果你认为$ _GET是丑陋的并且打断你可以使用POST(它没有把变量放在你的链接中,比如link.php?var = abc ...另外如果检查你的帖子变量是否设置在在页面顶部你可以做到这一点,所以在函数执行之前需要所有这些,并显示变量使得函数看起来更流行。
答案 1 :(得分:0)
类似的东西:
<input type="text" name="search" value="<?php if(isset($_POST['your_var']){ echo htmlspecialchars($_POST['your_var']);}?>">
然后,对于复选框/收音机,你会做一个我相信的循环,但我记不清楚了。