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

jQuery UI的Dialog無(wú)法提交問(wèn)題的解決方法

 更新時(shí)間:2011年01月11日 01:51:17   作者:  
最近在使用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ù)。

原因:JQuery會(huì)把Dialog的元素append到Body里面,而不是form里面。研究了頁(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)表單全部失效。

第1種方法:
不知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),代碼如下:
使用代碼:$("#dialog").parent().appendTo("/html/body/form[0]");
或者
$("#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。

第2種方法:
加入一個(gè)<div id="dialog_target"></div>這樣的DIV,然后把Dialog寫(xiě)入這個(gè)DIV里面。
$("#dialog").parent().appendTo("#dialog_target");

第3種方法:
1、修改Dialog的JS代碼,把代碼添加到form中,而不是body里面
2、Dialog內(nèi)部的自定義HTML不使用,而直接加入一個(gè)IFRAME,把里面的HTML移到另外的頁(yè)面中,再與父頁(yè)面進(jìn)行交互就OK(我使用的就是這種方法,這樣這些獨(dú)立出來(lái)的代碼還可以復(fù)用

第2種方法,服務(wù)器事件可以響應(yīng),效果也不錯(cuò),可以優(yōu)先考慮。

相關(guān)文章

  • 精心挑選的15個(gè)jQuery下拉菜單制作教程

    精心挑選的15個(gè)jQuery下拉菜單制作教程

    下拉菜單是網(wǎng)站導(dǎo)航常用的表現(xiàn)形式之一,能夠呈現(xiàn)更多的導(dǎo)航內(nèi)容。如果網(wǎng)站能夠設(shè)計(jì)出有吸引力的網(wǎng)站導(dǎo)航,將會(huì)吸引更多的用戶去瀏覽網(wǎng)站的內(nèi)容
    2012-06-06
  • 利用jquery包將字符串生成二維碼圖片

    利用jquery包將字符串生成二維碼圖片

    將一個(gè)字符串生成二維碼圖片,如果想要帶log的二維碼,可以在生成后的二維碼中間部位自己添加一個(gè)小log,具體實(shí)現(xiàn)如下,感興趣的朋友可以參考下
    2013-09-09
  • jquery each()源代碼

    jquery each()源代碼

    jquery文檔說(shuō) each(callback)作用是以每一個(gè)匹配的元素作為上下文來(lái)執(zhí)行一個(gè)函數(shù)。就是用each來(lái)遍歷數(shù)組,來(lái)執(zhí)行同一個(gè)方法
    2011-02-02
  • Jquery知識(shí)點(diǎn)二 jquery下對(duì)數(shù)組的操作

    Jquery知識(shí)點(diǎn)二 jquery下對(duì)數(shù)組的操作

    眾所周知,Jquery是對(duì)JavaScript的一種高效的封裝,所以Jquery要操作的數(shù)組即是JavaScript中的數(shù)組,在JavaScript中我們使用for以及for-in進(jìn)行數(shù)組的操作,而在Jquery中則使用$.map()、$.each()來(lái)操作數(shù)組
    2011-01-01
  • innerHTML與jquery里的html()區(qū)別介紹

    innerHTML與jquery里的html()區(qū)別介紹

    我原本一直以為innerHTML和jquery里的html其實(shí)是完全一樣的,jquery是多此一舉了,直到我遇到一次問(wèn)題
    2012-10-10
  • jQuery+jsp下拉框聯(lián)動(dòng)獲取本地?cái)?shù)據(jù)的方法(附源碼)

    jQuery+jsp下拉框聯(lián)動(dòng)獲取本地?cái)?shù)據(jù)的方法(附源碼)

    這篇文章主要介紹了jQuery+jsp下拉框聯(lián)動(dòng)獲取本地?cái)?shù)據(jù)的方法,以實(shí)例形式較為詳細(xì)的分析了jQuery結(jié)合jsp實(shí)現(xiàn)下拉聯(lián)動(dòng)菜單讀取本地?cái)?shù)據(jù)的相關(guān)技巧,并附帶了完整源碼供讀者下載參考,需要的朋友可以參考下
    2015-12-12
  • jQuery中g(shù)etJSON跨域原理的深入講解

    jQuery中g(shù)etJSON跨域原理的深入講解

    這篇文章主要給大家介紹了關(guān)于jQuery中g(shù)etJSON跨域原理的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • 用jQuery技術(shù)實(shí)現(xiàn)Tab頁(yè)界面之二

    用jQuery技術(shù)實(shí)現(xiàn)Tab頁(yè)界面之二

    這個(gè)tab頁(yè)是把數(shù)據(jù)全部取回來(lái)再顯示,所以沒(méi)有數(shù)據(jù)緩存的特點(diǎn)。但是因?yàn)閿?shù)據(jù)全部是顯示的html代碼,所以對(duì)搜索引擎是友好的,也許對(duì)seo有好處。
    2009-09-09
  • jQuery視差滾動(dòng)效果網(wǎng)頁(yè)實(shí)現(xiàn)方法經(jīng)驗(yàn)總結(jié)

    jQuery視差滾動(dòng)效果網(wǎng)頁(yè)實(shí)現(xiàn)方法經(jīng)驗(yàn)總結(jié)

    這篇文章主要介紹了jQuery視差滾動(dòng)效果網(wǎng)頁(yè)實(shí)現(xiàn)方法,結(jié)合實(shí)例形式總結(jié)分析了jQuery滾動(dòng)效果的實(shí)現(xiàn)步驟、操作技巧及相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2016-09-09
  • jquery+css3打造一款ajax分頁(yè)插件(自寫(xiě))

    jquery+css3打造一款ajax分頁(yè)插件(自寫(xiě))

    這篇文章主要介紹了自己寫(xiě)的一款ajax分頁(yè)插件,用jquery+css3打造支持IE6+,但沒(méi)有動(dòng)畫(huà)效果,需要的朋友可以參考下
    2014-06-06

最新評(píng)論