欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

jQuery UI Dialog控件中的表單無(wú)法正常提交的解決方法

 更新時(shí)間:2010年12月19日 22:02:47   作者:  
研究了頁(yè)面源碼后發(fā)現(xiàn),jQuery UI Dialog控件初始化時(shí)動(dòng)態(tài)生成的HTML元素被添加到頁(yè)面的尾部、form元素的后面,而原始的Dialog模板部分(其內(nèi)包含表單元素)也被移到了 動(dòng)態(tài)生成的HTML元素內(nèi)。
最近使用jQuery UI的Dialog控件時(shí)發(fā)現(xiàn)如果在此控件放置表單,則所有表單均無(wú)法正常提交,具體表現(xiàn)為:
1.提交按鈕失效,點(diǎn)擊后無(wú)任何反應(yīng)。

2.即便是使用其它手段使頁(yè)面產(chǎn)生提交,服務(wù)器端也無(wú)法取到Dialog中的表單數(shù)據(jù)。

研究了頁(yè)面源碼后發(fā)現(xiàn),jQuery UI Dialog控件初始化時(shí)動(dòng)態(tài)生成的HTML元素被添加到頁(yè)面的尾部、form元素的后面,而原始的Dialog模板部分(其內(nèi)包含表單元素)也被移到了 動(dòng)態(tài)生成的HTML元素內(nèi)。也就是說(shuō),原先在form內(nèi)的表單在Dialog初始化后就被移到form外了,這就導(dǎo)致了Dialog模板內(nèi)表單全部失效。

不知jQuery UI的Dialog這樣設(shè)計(jì)是一項(xiàng)功能還是一個(gè)bug。為了在Dialog內(nèi)實(shí)現(xiàn)正常的頁(yè)面提交,根據(jù)上述分析,我找到一個(gè)簡(jiǎn)單的解決辦法——在jQuery UI控件的“open”事件處理程序中將Dialog控件動(dòng)態(tài)生成的HTML元素移到form元素內(nèi),代碼如下:
復(fù)制代碼 代碼如下:

$("#dlg").dialog({
open: function () {
$("body > div[role=dialog]").appendTo("form#aspnetForm");
}
});

代碼中的“aspnetForm”是ASP.NET應(yīng)用程序自動(dòng)生成的當(dāng)前頁(yè)面form元素ID,使用時(shí)你可以換成自己頁(yè)面的form ID。

相關(guān)文章

最新評(píng)論