我们说我有一张我通过GET发送的表格:
<form method="get" action="/search.php?foo=bar&test=1&something=else">
<input type="text" name="day" placeholder="day"/>
<input type="text" name="link" placeholder="link"/>
</form>
在提交表单并处理数据(仅包含保存到文件)后,网址将更改为:
的search.php天=试验&安培;链接= google.com
我应该怎么做,以便网址变为:
/search.php?foo=bar&test=1&something=else&day=test&link=google.com
(保留action
属性中包含的旧参数。)
答案 0 :(得分:1)
表单操作每次都会更改,并且很难在表单操作中保留旧的GET参数。
但是,您可以使用隐藏字段。
试试这个:
<form method="get" action="/search.php">
<input type="hidden" name="foo" value="bar"/> <!-- Add this -->
<input type="hidden" name="test" value="1"/> <!-- Add this -->
<input type="text" name="day" placeholder="day"/>
<input type="text" name="link" placeholder="link"/>
</form>
答案 1 :(得分:1)
您可以尝试在提交前更改操作,具体取决于您要提交表单的方式。如果您将ID应用于文本以及表单的名称或ID,则可以执行此操作。
HTML:
<form id="frm" method="get" action="/search.php?foo=bar&test=1&something=else">
<input type="text" name="day" id="day" placeholder="day"/>
<input type="text" name="link" id="link" placeholder="link"/>
</form>
然后使用JavaScript,您可以运行一个函数并更改表单的操作:
var _form = document.getElementById('frm');
var day = document.getElementById('day').value;
var link = document.getElementById('link').value;
_form.action += '&day=' + day + '&link=' + link;
_form.submit();
答案 2 :(得分:0)
如果你首先从get获取变量,然后想要添加到第二个表单,你可以得到这个并创建隐藏了这些获取值的输入字段
现在,当您在获取网址中提交表单时,您将获得所有您想要的数据
<?php
if($_GET){
if(isset($_GET['submit1'])){
$foo = $_GET['foo'];
$test = $_GET['test'];
$something = $_GET['something'];
?>
<form method="get" action="/search.php">
<input type="hidden" name="foo" placeholder="foo" value="<?php echo $foo; ?>"/>
<input type="hidden" name="test" placeholder="test" value="<?php echo $test; ?>"/>
<input type="hidden" name="something" placeholder="something" value="<?php echo $something; ?>"/>
<input type="text" name="day" placeholder="day"/>
<input type="text" name="link" placeholder="link"/>
</form>
<?php
}
}
?>