JavaScript:如何根据选择更改表单操作属性值?
我正在尝试根据下拉菜单中的选定值更改表单操作。
基本上,HTML看起来像这样:
如果选择“人员”(默认情况下),则操作应为“/ search / user”,如果选择了内容,则操作应为“/ search / content”
我还在四处寻找,但一直无法找到如何做到这一点。
$("#selectsearch").change(function() { var action = $(this).val() == "people" ? "user" : "content"; $("#search-form").attr("action", "/search/" + action); });
如果您只想更改表单的操作,我更喜欢更改操作on-form-submit,而不是on-input-change。 它只发射一次。
$('#search-form').submit(function(){ var formAction = $("#selectsearch").val() == "people" ? "user" : "content"; $("#search-form").attr("action", "/search/" + formAction); });
最好使用
$('#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
可以为您节省大量时间。
要求你有表格吗?
如果没有,那么你可以使用这个:
使用以下JavaScript:
function callJavaScriptServlet() { this.form.action = "MyServlet"; this.form.submit(); }