假设我有mydomain.com/test.php?pikazi=true
这样的网站
我有表格
<form action="test.php" method="get">
<input name="drzava-asc" type="image" src="images/sort-asc.gif">
<input name="drzava-desc" type="image" src="images/sort-desc.gif" >
</form>
如何在从表单添加新内容时保留现有prikazi=true
,这样就可以
mydomain.com/test.php?pikazi=true&drzava-asc.x=6&drzava-asc.y=1
drzava-asc的值由脚本生成,因为它是图像未提交按钮。
我使用现有网址:
parse_str($_SERVER['QUERY_STRING'], $query_arr);
$url=http_build_query($query_arr);
我可以将它用作隐藏字段,但不知道如何。还有其他方法吗?
答案 0 :(得分:1)
<强>编辑:强>
您只需在表单中添加隐藏字段即可:
<form action="test.php" method="get">
<input name="prikazi" type="hidden" value="true" />
<input name="drzava-asc" type="image" src="images/sort-asc.gif">
<input name="drzava-desc" type="image" src="images/sort-desc.gif" >
</form>
就是这样:)干杯!
答案 1 :(得分:1)
你不能,不能直接。
如果您使用的是POST
,则可能只有action=""
,并且会保留所有GET
个变量。但是,您使用的是GET
,因此会覆盖它们。
如果您使用的是PHP等服务器端语言,则可以这样做:
<form action="test.php" method="get">
<?php foreach($_GET as $k=>$v) echo "<input type=\"hidden\" name=\"".$k."\" value=\"".htmlspecialchars($v)."\" />"; ?>
Rest of form here...
</form>
或类似的JavaScript:
var forms = document.getElementsByTagName('form'), l = forms.length, i,
qs = location.search.substr(1).split("&"), m = qs.length, j, tmp, inp;
for( i=0; i<l; i++) {
if( forms[i].method.toLowerCase() != "get") continue;
for( j=0; j<m; j++) {
inp = document.createElement('input');
inp.type = "hidden";
tmp = qs[j].split("=");
inp.name = tmp.shift();
inp.value = tmp.join("=");
forms[i].appendChild(inp);
}