我有一个带有单个输入框的表单。当用户输入数据并按下输入时 - 我需要将页面重定向到currentpage.com/userinput/,其中currentpage.com是我们所在的页面,userinput是输入文本框的数据。
我知道如何使用_GET或_POST实现这一点,但使用它们不是一种选择。有人可以提供解决方案吗?
echo "<form action=\"\" method =\"get\">";
echo "<input id=\"input\" type=\"text\" name=\"page\" placeholder=\"Input your data..\">";
echo "</form>";
这是我迄今为止所得到的
答案 0 :(得分:1)
如果没有更多信息,我会建议一个事件处理程序来侦听回车键,然后使用输入框中的值进行简单的javascript重定向 :
window.onkeypress = function(k){
if(k.keyCode == 13) {
url = window.location.host + "/" + document.getElementsByTagName('input')[0].value + "/";
window.location = url;
}
}
答案 1 :(得分:1)
无论你决定在客户端还是服务器端做,最终总是会在某处获得GET或POST。你怎么能以另一种方式交付它? ;) 正如其他人所暗示的那样,您是否意味着您不想在提交时联系服务器? 你能更准确吗?
好的,那么在这种情况下你需要做两件事:
在.htaccess或虚拟主机中
RewriteRule ^/([0-9]+)$ /index.php?page=$1
,假设启用了mod_rewrite,处理提交的页面称为index.php。
然后,您需要将重定向更改为指向site.com/123页面,它应该可以正常工作。
答案 2 :(得分:0)
使用FORM“action”属性:
<form action="http://www.google.com">
<input type="submit" value="Submit!" />
</form>
注意:由于X-FRAME-OPTIONS,这在JSFiddle中不起作用。您可能已尝试过此解决方案,但我提供此解决方案是因为您指定不能声明“方法”。像CBroe一样,我想知道为什么。您的数据将基于默认方法,即GET。