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

时间:2015-06-18 14:22:51

标签: javascript jquery html forms

我有一些javascript找到一个现有的id并用一个表单替换它。

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

$(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>');


 });

所以我认为这是我的问题:

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

我也想知道这是否可行,我怎样才能将select的值添加到url动作中。我会通过对所有选项应用相同的id然后在该id名称上调用document.getElementById来执行此操作吗?

非常感谢所有人的帮助!

3 个答案:

答案 0 :(得分:2)

为您的表单命名,然后:

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

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

答案 1 :(得分:1)

替换你的 此

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

使用

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

你需要把'和+只有当'item-select'是一个变量但它不是,它是一个ID,所以删除'和+标记。代码工作

答案 2 :(得分:1)

更改此

'<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语法再次正确。

这些是action的预期网址:

  

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