表单提交重定向到新网址

时间:2013-10-11 21:06:54

标签: javascript php jquery

我有一个带有单个输入框的表单。当用户输入数据并按下输入时 - 我需要将页面重定向到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>";

这是我迄今为止所得到的

3 个答案:

答案 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。