我有一个项目需要一个搜索表单,根据用户的查找内容搜索两个独立的eBay商店。
我想要一个带两个提交按钮的输入字段。我在获取表单以指定从任一按钮调用哪个站点时遇到问题。我已经好好看了一下并尝试了一些事情,但认为有人可能能够理顺我的语法等。
我有表格。
<form target="_blank" action="rp.php" method="get">
<input type="text">
<button name="replacement" type="submit">Search Replacement Parts</button>
<button name="performance" type="submit">Search Performance Parts</button>
</form>
..我有PHP。
<?php
if( isset($_GET['replacement']) ) {
header("Location: http://www.example.com");
exit;
} else if {
( isset($_GET['performance']) ) {
header("Location: http://www.example.com");
exit;
}
?>
我认为我走在正确的轨道上,只需要一点帮助。我不知道是否使用POST或GET,GET似乎对我更有意义。
答案 0 :(得分:2)
您可以使用以下代码:
<form target="_blank" name="myform" method="POST">
<input type="text" name="search">
<button onclick="submit1('http://example1.com/')" >Search Replacement Parts</button>
<button onclick="submit1('http://example2.com/')" >Search Performance Parts</button>
</form>
<script>
function submit1(url)
{
document.myform.action=url;
document.myform.submit();
}
</script>
答案 1 :(得分:0)
elseif
你的PHP有点偏,否则应该“工作”
<?php
if ( isset($_GET['replacement']) ) {
header("Location: http://www.example.com");
exit;
} elseif ( isset($_GET['performance']) ) {
header("Location: http://www.example.com");
exit;
}
?>
您可以使用GET
或POST
来执行此操作,但GET
会导致查询值在查询字符串中可见,并且在某些旧版本中的大小有限浏览器。可能会优先考虑POST
,在这种情况下,您可以在上面的代码中将$_GET
替换为$_POST
,并在表单中将method="get"
更改为method="post"
。
答案 2 :(得分:0)
我会对两个按钮使用相同的名称,每个按钮的值都不同,然后在php代码中检查提交的值。