Validation struts2中的ajax字段验证不重新加载同一表单

Validation struts2中的ajax字段验证不重新加载同一表单,validation,jquery,struts2,Validation,Jquery,Struts2,我一直在尝试使用Struts2中的字段验证框架并将其实现。问题是,当使用jquery标记进行AJAX调用时,当我想用fielderror重新加载同一页面时,它会以结果div为目标 <div class="myform"> <s:form id="userForm" action="users" theme="simple"> <h1>Search for Users</h1> <p><s:f

我一直在尝试使用Struts2中的字段验证框架并将其实现。问题是,当使用jquery标记进行AJAX调用时,当我想用fielderror重新加载同一页面时,它会以结果div为目标

<div class="myform">
    <s:form id="userForm" action="users" theme="simple">
        <h1>Search for Users</h1>
        <p><s:fielderror /></p>
        <label>Username
            <span class="small">Add your name</span>
        </label>
        <s:textfield id="username" name="username"/>
        <label>Point Minimum
            <span class="small">Min. 0 points</span>
        </label>
        <s:textfield name="pointMin"/>

        <label>Point Maximum
            <span class="small">Max. 5000 points</span>
        </label>
        <s:textfield name="pointMax"/>

        <label>Rate Minimum
            <span class="small">Percentage</span>
        </label>
        <s:textfield id="rateMin" name="rateMin"/>

        <label>Rate Maximum
            <span class="small">Percentage</span>
        </label>
        <s:textfield id="rateMax" name="rateMax"/>

        <s:hidden name="searchButtonHit" value="%{true}"/>
        <sj:a formIds="userForm" 
              targets="listingDisplay" 
              button="true"
              validate="only"
              type="submit"> Search
        </sj:a>
        <div class="spacer"></div>
    </s:form>
</div>
<div class="spacer"></div>
<div id="listingDisplay"></div>

搜索用户

用户名 加上你的名字 最小点 最低0分 最大点 最高5000分 最低费率 百分率 最高费率 百分率 搜索

标记以
列表显示
div为目标,因此
字段错误
以及相同的表单被加载到下面,看起来非常奇怪。有更好的方法吗?谢谢

查看下面的验证链接。它在错误消息中添加一个字符串errorhere,并在响应后检查它。您也可以这样做来重新加载页面,重新加载代码可以写入的onSuccessTopics中

方法2

非常简单,但可能不适用于所有浏览器。 设置的targets属性

 <sj:a targets="myform">


到表单所在的同一个div。

是的,最好使用简单的jquery来代替jquery插件。我在使用插件时遇到了相同的行为,最终使用了更干净的jquery,为什么要将jquery包装在一些标记中?