我有一些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来执行此操作吗?
非常感谢所有人的帮助!
答案 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