chnage form action onchange()选项已提交并提交相同的表单无效

时间:2016-08-23 08:03:46

标签: javascript jquery jsp jstl

我有一个表单,我有一个下拉选择框。我的要求是当用户从选择框更改选项时,表单操作应相应更改,表单应自动提交。我在表单部分中有以下代码:

<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。有人可以提供帮助吗?

3 个答案:

答案 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