Javascript-将变量添加到表单提交中

Javascript-将变量添加到表单提交中,javascript,jquery,html,forms,Javascript,Jquery,Html,Forms,我有一点javascript,可以找到一个现有的id并用一个表单替换它 在该表单中,我希望能够向提交url添加javascript变量。我不确定这是否可能,或者我只是在错误地实现它 $(document).ready(function () { $("#FB_cs_redirectTextBox") .replaceWith('<form class="cf" action="http://test.com/s/search.html?profile=_default&am

我有一点javascript,可以找到一个现有的id并用一个表单替换它

在该表单中,我希望能够向提交url添加javascript变量。我不确定这是否可能,或者我只是在错误地实现它

$(document).ready(function () {
    $("#FB_cs_redirectTextBox")
    .replaceWith('<form class="cf" action="http://test.com/s/search.html?profile=_default&collection=general + document.getElementById(' + item-select + ').value" method="get">' +
                '<input type="search" placeholder="Search for stuff" name="search" class="searchbox-input" required="">' +
             '<select name="item-select" id="item-select" required="">' +
                '<option value="" selected="selected">Item type...</option>' +
                '<option value="level">item 1</option>' +
                '<option value="taste">item 2</option>' +
                '<option value="location">item 3</option>' +
                '<option value="month">item 4</option>' +
                '</select>' +   
             '<button type="submit" class="btn btn--green searchbox-submit">' +
                    'Search for items' +
                '</button>' +
            '</form>');


 });
我还想知道这是否可行,如何将select的值添加到url操作中。我是否可以通过对所有选项应用相同的id,然后对该id名称调用document.getElementById来实现这一点


非常感谢大家的帮助

给表单起个名字,然后:

document.form_name.action = 'http://test.com/s/search.html?profile=_default&collection=general' + document.getElementById(' + item-select + ').value;

请确保在加载DOM后执行此操作,否则它将无法工作。

为表单命名,然后:

document.form_name.action = 'http://test.com/s/search.html?profile=_default&collection=general' + document.getElementById(' + item-select + ').value;
请确保在加载DOM后执行此操作,否则它将无法工作。

替换您的
这个

只有当'item select'是一个变量但不是,它是一个ID时,才需要放置'and+,所以删除'and+标记。代码起作用

替换您的
这个

只有当'item select'是一个变量但不是,它是一个ID时,才需要放置'and+,所以删除'and+标记。代码起作用

改变这一点

'<form class="cf" action="http://test.com/s/search.html?profile=_default&collection=general + document.getElementById(' + item-select + ').value" method="get">'
“”
对此

'<form class="cf" action="http://test.com/s/search.html?profile=_default&collection=general&search=' + document.getElementById('item-select').value + '" method="get">'
“”
那么JavaScript语法又是正确的了

这些是
操作的预期URL

http://test.com/s/search.html?profile=_default&collection=general&search=level

http://test.com/s/search.html?profile=_default&collection=general&search=taste

http://test.com/s/search.html?profile=_default&collection=general&search=location

http://test.com/s/search.html?profile=_default&collection=general&search=month

改变这个

'<form class="cf" action="http://test.com/s/search.html?profile=_default&collection=general + document.getElementById(' + item-select + ').value" method="get">'
“”
对此

'<form class="cf" action="http://test.com/s/search.html?profile=_default&collection=general&search=' + document.getElementById('item-select').value + '" method="get">'
“”
那么JavaScript语法又是正确的了

这些是
操作的预期URL

http://test.com/s/search.html?profile=_default&collection=general&search=level

http://test.com/s/search.html?profile=_default&collection=general&search=taste

http://test.com/s/search.html?profile=_default&collection=general&search=location

http://test.com/s/search.html?profile=_default&collection=general&search=month


名字不是主要问题。您还更改了
document.getElementById
周围的字符串连接,对吗?这才是真正的问题,名字不是主要问题。您还更改了
document.getElementById
周围的字符串连接,对吗?这是实际的问题。可能的重复:什么是
操作的预期URL之一?类似于
http://test.com/s/search.html?profile=_default&collection=generallevel
?哎哟,应该是:然后在此修改变量可能重复:
操作的预期URL之一是什么?类似于
http://test.com/s/search.html?profile=_default&collection=generallevel
?哎哟,有点漏掉了,应该是:然后在这里修改变量