将变量放在重定向链接

时间:2017-01-24 21:09:53

标签: javascript jquery html

我想从HTML表单提交中获取一个变量,并将其放在window.location.replace链接中。

HTML:

<form action="search.js" type="search">
     <input type="text" name="searchInput" class="textbox" placeholder='' maxlength="10" />    
</form>

在表单提交时,我已将searchInput分配给JS变量。

然后,我想将它放在以下链接中的?query =之后:

https://www.youtube.com/channel/.../search?query=SEARCHINPUT

有没有办法使用如下所示的JavaScript?或者使用PHP有更好的解决方案吗?

window.location.replace="https://www.youtube.com/channel/.../search?query=[var=searchinput]

2 个答案:

答案 0 :(得分:2)

是的,这样做:

window.location.replace=".../search?query=" + $("[name=searchInput]").val();

答案 1 :(得分:1)

如果您将表单的action属性更改为要搜索的网址(不包含查询参数),则即使只使用默认表单提交行为也可以执行此操作,然后将输入的名称更改为query

<form action="https://www.youtube.com/channel/.../search">
    <input type="text" name="query" class="textbox" placeholder='' maxlength="10" />
    <button type="submit">Submit</button>
</form>

提交表单的默认行为将序列化您的表单值,并将其放在?属性中网址末尾的action后面。

因此,如果您运行上述代码,请输入&#39; search&#39;在输入框中,然后点击提交,您的浏览器将被重定向到https://www.youtube.com/channel/.../search?query=search。 (请注意,这不会在诸如StackSnippets,jsfiddle等沙盒环境中工作,因为它们不会允许您重定向到另一个域,这就是为什么我没有将它变成StackSnippet )