ASP.NET中使用JQuery UI Dialog致表單無法提交的解決方法

在ASP.NET中使用JQuery UI Dialog實現表單提交功能,發現出現下面問題:

1. 點擊提交按鈕無任何反應。

在G.cn中搜索之後發現:

jQuery UI Dialog控件初始化時動態生成的HTML元素被添加到頁面的尾部、form元素的後面,而原始的Dialog模板部分(其內包含表單元素)也被移到了 動態生成的HTML元素內。也就是說,原先在form內的表單在Dialog初始化後就被移到form外了,這就導致了Dialog模板內表單全部失效。

解決方法:

方法一:
在JQuery UI的“open”事件處理中將Dialog控件動態生成的HTML元素移到form元素內。
在Dialog初始化時加入黑體代碼:
$(
#dialog).dialog({
    open: 
function() {
               $(body > div[role=dialog]).appendTo(”/html/body/form[0]“);
    }
});

方法二:
在Open Dialog的JS函數中加入黑體代碼:
function openDialog() {
        $(”#dialog”).parent().appendTo(”/html/body/form[0]“);
        $(”#dialog”).dialog(”open”);
        $(”#tbContent”).focus();  //內容框獲取焦點,便於用戶打開對話框即可錄入信息
 }

以上代碼均測試通過。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章