我想从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]
答案 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 )