当用户点击“搜索”按钮时,我正尝试将我的按钮的HREF设置为输入字段中的文本和选择列表中的选定选项。
<div>
<div>
<input type="text" value="Keywords" style="width:206px" />
</div>
<div style="clear:both">
<select>
<option value="Test">Test</option>
</select>
</div>
<div>
<button><a href="">Search</a></button>
</div>
</div>
如何根据输入框的值和选择列表的选定值设置href?我可能需要为此创建一个表单但我认为我可以使用更简单的东西。我只需要编译搜索字符串并将用户重定向到适当的页面,因为搜索引擎已经构建完毕。
谢谢!
修改1
很抱歉,我正在使用php来加载选择列表但我无法提供选择列表如何填充的代码,因为它中包含公司敏感信息。我不应该包括那个。
答案 0 :(得分:1)
使用javascript,您可以检索表单字段并对其进行处理,并将其处理为您需要的内容。
假设选择ID为select
且链接ID为link
:
var value = document.getElementById('select').value;
document.getElementById('link').setAttribute('href', value);
答案 1 :(得分:1)
仅使用PHP(没有jQuery,没有Javascript),您可以在表单中使用提交按钮并使用$_POST
:
首先是你的表格(剥离到基础):
<form method="post">
<input name="keywords" type="text" value="Keywords" style="width:206px" />
<select name="options">
<option value="Test">Test</option>
</select>
<input type="submit" name="ok" value="ok" />
</form>
第二,在包含该表单的php页面的开头:
if (isset($_POST['ok'])) { // submit has been clicked...
if (isset($_POST[keywords])) { // there's input in keywords
$keywords = $_POST['keywords'];
// sanitize $keywords to prevent sql-injection
// go to the page you want to call...
// assuming there's no output before header ...
// and $keywords is in the right format ...
// and you retrieved $_POST['options'] to do sth with that, too
header('Location: http://www.url.com/page.php?key=$keywords');
} else exit('no keywords entered!');
}