我有一个表单,我有一个下拉选择框。我的要求是当用户从选择框更改选项时,表单操作应相应更改,表单应自动提交。我在表单部分中有以下代码:
<form id="topicSelectionFormId" action="${headerLink.topicUrl}" method="GET">
<select id="topic-option-id" class="dd-custome-new" onchange="changeTopic(this)">
<c:forEach items="${headerLink.topicList}" var="topic">
<option value="${topic.menuItemId}" ${topic.menuItemId == headerLink.topicId ? 'selected' : ''}>${topic.name}</option>
</c:forEach>
</select>
</form>
然后我有javascript代码来处理表单操作更改部分:
<script>
function changeTopic(sel){
var topicId = sel.value;
var formAction = $('#topicSelectionFormId').prop('action') + topicId;
alert(formAction);
$("#topicSelectionFormId").attr("action", formAction);
$("#topicSelectionFormId").submit();
}
</script>
警报显示我需要的正确的所需表单操作。但表单未提交到所需的URL。有人可以提供帮助吗?
答案 0 :(得分:1)
<form name="topicSelectionFormId" action="action-default" method="GET">
<select id="sss" onchange="changeTopic(this);">
<option value="action1">action1</option>
<option value="action2">action2</option>
</select>
</form>
()
答案 1 :(得分:0)
您的代码在我的IE11浏览器中完美运行。在浏览器的开发人员工具中,检查网络,您的请求是否转到所需的网址以及您收到的回复。
这不是我的答案,但我没有足够的声誉来评论你的问题,所以写在这里
答案 2 :(得分:-1)
我认为您需要在行动中设置所需的网址。不是formAction