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