2011-12-09 21 views
0

我一直在嘗試在Struts2中使用字段驗證框架並將其實施。問題是,當使用jQuery標記進行AJAX調用時,當我想用​​fielderror重新加載相同頁面時,它會針對結果div。struts2中的ajax字段驗證無法重新加載相同的表格

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

<sj:a>標籤瞄準listingDisplay DIV所以fielderror以及相同的形式被加載在其下方看起來很奇怪。有沒有更好的方法來做到這一點?謝謝!

+0

是的,有更好的使用簡單的jQuery原地使用jquery插件我面臨着同樣的行爲,同時使用插件和結束了使用jquery這是更乾淨,爲什麼包裹jQuery內部標籤? –

回答

0

看看下面的驗證鏈接。它在錯誤消息中添加一個字符串錯誤,並在響應後檢查它。您也可以重新加載頁面,重新加載代碼可以寫入onSuccessTopics。

Ajax Validation

方法2

很簡單,但可能無法在所有瀏覽器上運行。 將目標屬性設置爲

<sj:a targets="myform"> 

到同一個div,其中表單存在。