3

我有一個帶有「data-val-remote」標籤的輸入標籤的MVC 3應用程序。 例如帶有unobstrusive parse的MVC 3在JQuery Dialog上不起作用?

<div id="dialog" title="Test"> 
     <input class="captcha_input" data-val="true" 
     data-val-remote="ErrorMessage" 
     data-val-remote-additionalfields="*.value" 
     data-val-remote-url="/Controller/Action" 
     data-val-required="Required" id="TestID" name="TestValue" type="text" value=""> 
    </div> 

的jQuery片段,顯示對話框:

$('#dialog').dialog({ 
      height: 260, 
      width: 400, 
      modal: true, 
      autoOpen: false 
     }); 

不幸的是,MVC遠程驗證的工作方式本身,而是對JQuery的對話框中顯示,當「數據-VAL-遠程」標籤停止工作。

我會想,即使我們在對話框中顯示INPUT字段,它仍然繼承了所有的Javascript包含和表單操作?

有人可以幫助這是一個錯誤還是有任何解決方法?

感謝

回答

0

的MVC不顯眼的驗證輸入控件的事件訂閱一旦當DOM已準備就緒。如果您的頁面上有動態內容,則需要指示驗證框架重新執行訂閱。

在你的情況下,動態內容是dailog。因爲它會創建一個與舊內容的新的div,所以你需要在對話框創建/打開後重新應用驗證器:

$.validator.unobtrusive.parse("#dialog"); 
+0

我試着把上面這樣的行,但沒有工作$('#dialog' ).dialog( '開放'); $ .validator.unobtrusive.parse('#dialog'); –

相關問題