我試圖通過功能連接到一個ajax.beginform的ajaxoptions的財產的onSuccess調用jQuery用戶界面對話框..ajax.beginform onsucess updatetargetid隱藏輸入
<script type="text/javascript">
// Dialog
$(document).ready(function() {
$('#dialog').dialog({
autoOpen: false,
width: 600,
modal: true,
buttons: {
"Ok": function() {
$(this).dialog("close");
}
}
});
});
</script>
在一個單獨的腳本文件我有這個..
function EmailResult() {
$('#dialog').dialog('open');
}
然後我有一個聯繫表格,實際上並沒有連接起來,控制器只是響應兩個字符串響應之一。
<% using (Ajax.BeginForm(new AjaxOptions { UpdateTargetId = "ContactResult", OnSuccess="EmailResult" }))
{ %>
如果我拿出從Ajax.BeginForm的OnSuccess="EmailResult"
或者乾脆刪除$('#dialog').dialog('open');
從我EmailResult功能錯誤消失所以obvisouly這是個用的onSuccess屬性和jQuery UI的對話框的問題。
我的第一個問題是我做錯了什麼導致此不工作和/或若不會工作,那麼有沒有一種更好的解決方案。
我試圖創建上來,並說該消息是否已發送的對話框。我不想使用警報對話框。
我猜的錯誤會有所幫助,在IE 8調試它在MicrosoftAjax.js庫未定義的錯誤出現
的最後這段代碼塊造成問題的原因,並在IE當地人選項卡下8它說b是不確定的。
this._onReadyStateChange = function() {
if (a._xmlHttpRequest.readyState === 4) {
try {
if (typeof a._xmlHttpRequest.status === "undefined") return
} catch (b) {
return
}
a._clearTimer();
a._responseAvailable = true;
try {
a._webRequest.completed(Sys.EventArgs.Empty)
} finally {
if (a._xmlHttpRequest != null) {
a._xmlHttpRequest.onreadystatechange = Function.emptyMethod;
a._xmlHttpRequest = null
}
}
}
};
這是什麼更新是
<%= Html.Hidden("ContactResult") %>
這原來是問題的全部,我改變了隱藏的輸入到一個div和它完美的作品。不知道爲什麼,但......如果別人跑進這個你去那裏...
此外,模式對話框在連接到鏈接時完美工作,但在上面的示例中不起作用。實際上,如果你將它連接到OnComplete而不是OnSucces,模態對話框會出現,但你仍然會得到相同的錯誤。 – Casey 2010-07-05 18:42:56