最煩惱的就是JQUERY UI的DIALOG無法提交問題
最令人煩躁的就是提交按鈕失效,點選後無任何反應。即便是使用其它手段使頁面產生提交,伺服器端也無法取到Dialog中的表單資料。
我們首先來分析一下原因:JQuery會把Dialog的元素append到Body裡面,而不是form裡面。研究了頁面原始碼後發現,jQuery UI Dialog控制元件初始化時動態生成的HTML元素被新增到頁面的尾部、form元素的後面,而原始的Dialog模板部分(其內包含表單元素)也被移到了動態生成的HTML元素內。也就是說,原先在form內的表單在Dialog初始化後就被移到form外了,這就導致了Dialog模板內表單全部失效。
接下來是3種解決方案:
第一,不知jQueryUI的Dialog這樣設計是一項功能還是一個bug。為了在Dialog內實現正常的頁面提交,根據上述分析,我找到一個簡單的解決辦法——在 jQueryUI控制元件的“open”事件處理程式中將Dialog控制元件動態生成的HTML元素移到form元素內,程式碼如下: 使用程式碼:$(“#dialog”).parent().appendTo(“/html/body/form[0]“); 或者 $(“#dlg”).dialog({ open: function () { $(“body > div[role=dialog]“).appendTo(“form#aspnetForm”); } }); 程式碼中的“aspnetForm”是ASP.NET應用程式自動生成的當前頁面form元素ID,使用時你可以換成自己頁面的formID。
第二,加入一個這樣的DIV,然後把Dialog寫入這個DIV裡面。
$(“#dialog”).parent().appendTo(“#dialog_target”);
第三,(1)修改Dialog的JS程式碼,把程式碼新增到form中,而不是body裡面。(2)Dialog內部的自定義HTML不使用,而直接加入一個IFRAME,把裡面的HTML移到另外的頁面中,再與父頁面進行互動就OK(我使用的就是這種方法,這樣這些獨立出來的程式碼還可以複用。
本文為Anyforweb技術分享部落格,需要了解網站建設相關,請訪問anyforweb.com。
相關文章
- 80埠的煩惱
- 使用axios post 請求資料無法提交的問題iOS
- 免費API介面集合, 讓你的開發無煩惱API
- 歷屆試題 國王的煩惱(並查集)並查集
- 煩惱的Word2003遇到問題需要關閉..&.安全模式…模式
- 煩惱是人生的一部分——《少年維特的煩惱》讀書筆記筆記
- git(osx)上的一個git commit無法正確提交的問題GitMIT
- 就是要你懂TCP–最經典的TCP效能問題TCP
- 軟體測試人員的煩惱
- 解決EventBus中接收方法中無法更新UI的問題UI
- Excel無法做到的問題Excel
- 關於elememt-ui中dialog彈窗多重巢狀的問題UI巢狀
- jQuery同步Ajax帶來的UI執行緒阻塞問題及解決辦法jQueryUI執行緒
- 解耦解的早,改需求沒煩惱解耦
- 程式設計師的十大煩惱程式設計師
- 記一次hadoop yarn環境無法提交任務的問題排查HadoopYarn
- GoPro無人機墜機問題已解決 一張膠帶解決煩惱Go無人機
- 索引無法消除排序的問題索引排序
- 解決修改element-ui樣式無法生效問題UI
- 無重複字元的最長子串問題 (移動視窗法求解)字元
- hdu ---(4517)小小明系列故事——遊戲的煩惱(Dp)遊戲
- jquery ui autocomplete輸入中文不自動完成的問題jQueryUI
- 解決無法使用VI的問題
- 無法執行的update問題解析
- Windows Defender無法開啟的問題Windows
- 渠道迎接SaaS軟體面臨成長的煩惱
- 解決 git 忽略了不在.gitignore中的檔案的問題,不在.gitignore 中的檔案被忽略了無法提交的的問題Git
- 2010.03.16專題:一個開發人員的專案煩惱
- jquery mobile無法修改textarea的高度jQuery
- SpringMVC無法訪問根目錄的問題SpringMVC
- 解決寶塔皮膚無法訪問的問題?
- Bootstrap 模態框無法呼叫的問題boot
- ASM無法啟動的問題分析(一)ASM
- ASM無法啟動的問題分析(二)ASM
- Android中ImageView無法居中的問題AndroidView
- oracle無法用oracle認證的問題Oracle
- 解決Centos無法yum源的問題CentOS
- Android Tip: singleLine帶來的問題;setText()不展示/無效果(無法看到UI重繪)AndroidUI