不要在 POST 时清除表单内容

Do not clear form content upon POST

我正在使用带有选项卡的 Spring 表单,每个选项卡都有一个表单。 问题是

1)表单提交后,显示错误信息,但表单内容被清除,这是不应该发生的
2)提交表单后,控件立即转到默认选项卡,这是我的第一个选项卡。我希望控件在交易后保留在当前选项卡上,而不是转到默认选项卡。

这是我第一次使用 Spring MVC,JSP,jQuery。如果我必须进行任何更改,请告诉我。

administrator.jsp

下面是“管理用户”选项卡功能的代码。

jQuery:

$(document).ready(function() {
$('#btnManage').click(function() {
            if($.trim($('#userId').val()) == ''){
                $('#area5').html("User Id is a required field.");
             }else if($.trim($('#region').val()) == 'NONE'){
                $('#area5').html("Region is a required field.");
             }else{
            $('#manageUserForm').submit();
             }
        });
$('#btnCancel5').click(function(e) {
            $('#manageUserForm').trigger("reset");
            $('#area5').html("");
        });
});

administrator.jsp:

<div id="tab5" class="tab">
        <div class="devices" >
        <form:form method="post" id="manageUserForm" modelAttribute="adminUser" action="/DeviceManager/admin/manageUser">
        <div align=center class="message" id="area5">${serverError5}</div> 
        <div>
            <div class="plLabelSearch">User Id:</div> 
            <div class="plinput"><form:input path="userId" type="text" size="29"/></div>
        </div>
        <div>
            <div class="plLabelSearch">Region:</div> 
            <div class="plselect">
            <form:select path="region">
            <form:option value="NONE" label="------- Select One -------" />
            <form:option value="A" label="A"/>
            <form:options items="${regionList}"/>
            </form:select>
        </div>
        </div>
        <br>
        <br>
        <div>
            <div class="plLabelSearch">&nbsp;</div>
            <div class="plinput"><a id="btnManage" class="abutton">OK</a></div>
            <div class="plinput"><a id="btnCancel5" class="abutton">Cancel</a></div>
        </div>
    </form:form>
        </div>
    </div>        

因为你提交不是异步的,提交后,administrator.jsp被重置,所以显示错误信息,由于这段代码<div align=center class="message" id="area5">${serverError5}</div>

您需要使用原始表单提交的数据重新呈现页面。

在您的情况下,这可能意味着您的表单应该包含一些隐藏字段,以允许您确定您所在的选项卡,您的 JSP 将需要能够理解此数据并将其用于 select 相应的选项卡。