为了账号安全,请及时绑定邮箱和手机立即绑定

JavaScript:如何根据选择更改表单动作属性值?

JavaScript:如何根据选择更改表单动作属性值?

慕姐4208626 2019-10-16 13:07:29
我正在尝试根据下拉菜单中的选定值更改表单操作。基本上,HTML看起来像这样:<form class="search-form" id="search-form" method="post" accept-charset="UTF-8" action="/search/user"><select id="selectsearch" class="form-select" name="selectsearch"><option value="people">Search people</option><option value="node">Search content</option></select><label>Enter your keywords: </label> <input type="text" class="form-text" value="" size="40" id="edit-keys" name="keys" maxlength="255" /><input type="submit" class="form-submit" value="Search" id="edit-submit" name="search"/></form>如果选择“人员”(默认情况下为默认值),则操作应为“ / search / user”,如果选择了内容,则操作应为“ / search / content”我仍在搜索,但是还没有找到如何执行此操作的方法。
查看完整描述

3 回答

?
慕容708150

TA贡献1831条经验 获得超4个赞

$("#selectsearch").change(function() {

  var action = $(this).val() == "people" ? "user" : "content";

  $("#search-form").attr("action", "/search/" + action);

});


查看完整回答
反对 回复 2019-10-16
?
慕尼黑的夜晚无繁华

TA贡献1864条经验 获得超6个赞

如果您只想更改表单的操作,我更喜欢在提交表单而不是在输入更改上更改操作。它只发射一次。


$('#search-form').submit(function(){

  var formAction = $("#selectsearch").val() == "people" ? "user" : "content";

  $("#search-form").attr("action", "/search/" + formAction);

}); 


查看完整回答
反对 回复 2019-10-16
?
绝地无双

TA贡献1946条经验 获得超4个赞

最好用


$('#search-form').setAttribute('action', '/controllerName/actionName');

而不是


$('#search-form').attr('action', '/controllerName/actionName');

因此,基于trante的答案,我们有:


$('#search-form').submit(function() {

    var formAction = $("#selectsearch").val() == "people" ? "user" : "content";

    $("#search-form").setAttribute("action", "/search/" + formAction);

}); 

使用setAttribute可以节省大量时间。


查看完整回答
反对 回复 2019-10-16
  • 3 回答
  • 0 关注
  • 546 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信