我想修改元素的action属性以包含在字段中输入的任何文本。这是我正在尝试做的一个例子,但不能:
<form action="/search/?searchoption=Audio&s=Blocks--[text input here]" method="post" name="audio-search-form">
<input name="audiosearch" type="text" size="30" id="audiosearch">
<input type="submit" name="audio-search-submit" value="Search Audio">
</form>
由于
答案 0 :(得分:0)
使用可以使用
更改表单操作 // Get input value
input = $("#textboxId").val()
// Change form action
$("#formid").attr("action", "/requiredString/" + input);
答案 1 :(得分:0)
var $form = $('form');
$form.attr('action', $form.find('input[type="text"]').val());
或者你想要极端 ......:
$('form').attr('action', function(index, old) {
return old + $(this).find('#audiosearch').val();
});
答案 2 :(得分:0)
如果您的示例表单完全存在,为什么不将表单方法设为GET请求呢?
<form action="/search/" method="get" name="audio-search-form">
<input name="searchoption" type="hidden" value="Audio">
<input name="s" type="text" size="30" id="audiosearch">
<input type="submit" name="audio-search-submit" value="Search Audio">
</form>
编辑:唉!抱歉,我忽略了您要添加的Blocks--
部分。我仍然会留在这里作为参考,因为这可能对你有用。 (如果Blocks--
始终保持不变,您也可以将其添加为单独的隐藏字段,或者完全抛弃它并将其添加到后端。)
编辑2:澄清,以下结果搜索网址是否有问题:
/search/?searchoption=Audio&type=Block--&s=whatever+the+search+input
可以通过以下方式实现:
<form action="/search/" method="get" name="audio-search-form">
<input name="searchoption" type="hidden" value="Audio">
<input name="type" type="hidden" value="Block--">
<input name="s" type="text" size="30" id="audiosearch">
<input type="submit" name="audio-search-submit" value="Search Audio">
</form>
答案 3 :(得分:0)
var initial = $("form").attr("action");
$("input[name=audiosearch]").bind("keyup",function(){
$("form").attr("action",initial+$(this).val());
})