【问题标题】:javascript Redirect user to directory based on form inputjavascript 根据表单输入将用户重定向到目录
【发布时间】:2017-07-30 16:03:53
【问题描述】:

有人给我部分答案 Redirect user to directory based on form input

<form onsubmit="location.href='http://www.example.org/' + document.getElementById('myInput').value; return false;">
<input type="text" id="myInput" />
<input type="submit" />
</form>

浏览器中的代码实现如下:

http://www.example.com/contact

我的问题是:

这个地址对我不起作用没有添加扩展名.html

喜欢这个

http://www.example.com/contact.html

我在 .htaccess

中了解了解决方案

但我正在寻找我们是否也可以在 java 脚本中实现这一点

所以只需输入单词contact作为前面的例子 和 java 脚本做另一个?

毕业生

【问题讨论】:

  • 当URL指向“/contact”时打开一个“contact.html”页面是服务器端的事情,所以不能单独在JS中完成。但是为什么不直接使用“/contact.html”呢?
  • 一个非常丑陋的 hack 包括从 url 中获取 contact 关键字并使用 ajax 请求该页面。
  • 所以您想将用户发送到contact.html,但URI 是/contact?
  • @JosanIracheta 如果您尝试了我上面提到的代码,用户在输入表单中只需输入单词“contact”,因此提交后将重定向到:example.com/contact,因为 java 脚本之前有第一部分在代码中:onsubmit="location.href='example.com' + document.getElementById('myInput').value; return false;" 我的网站网址必须以 .html 结尾 所以我正在寻找写 contact 并重定向到 contact.HTML 以在我的网站上工作我在 Apache 转换 url 中获得了解决方案 so 我可以在代码中做到这一点吗?没有 Apache 服务器?问候

标签: javascript php html css


【解决方案1】:

正如其他人在 cmets 中提到的那样,获得 100% 所需内容的方法是向 .htaccess(假设为 Apache)添加一条规则,使服务器添加文件扩展名。

我认为你可以在客户端做的最接近的事情是简单地自己添加 .html,可能是这样的:

<form onsubmit="handleFormSubmit();">
<input type="text" id="myInput" />
<input type="submit" />
</form>

然后在你的 javascript 中的某个地方:

function handleFormSubmit() {
    var destinationUrl = 'http://www.example.org/' + document.getElementById('myInput').value + ".html";

    window.location = destinationUrl;
}

不过,我看到您想要做的最大问题是您依赖用户知道可用页面的名称是什么,除非您在服务器端有更多事情要做.

【讨论】:

    猜你喜欢
    • 2010-12-05
    • 1970-01-01
    • 1970-01-01
    • 2019-04-24
    • 2013-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多