jQuery對話框不再起作用我在窗體中使用了一個窗體和一個div,用於jQuery對話框的內容。我的目標是彈出對話框,用戶在文本框和textareas中輸入一些信息,然後提交表單並將該數據提供給我的代碼,但是隨後可以重新打開對話框(頁面在提交後保持不變),輸入新的數據,並且如果他們願意的話重新提交表格。我追加到<form>
如果我運行:
$('div#mydialog').appendTo($('form#foo'));
然後:
$('div#mydialog').dialog('open');
一個對話框顯示了僅按鈕,以及背後正在顯示的DIV,交通不便給用戶。 (簡而言之,它看起來像一個UI部件的羣集性交)
爲什麼將div#mydialog添加到窗體(它是從哪裏開始),然後調用.dialog('open')導致這樣的行爲,以及如何在將它附加到形成#foo以將用戶的數據發送到服務器之後讓它正常打開?
在此先感謝
編輯:看來,由於某種原因,對話不被追加到後最初打開。即它被打開/編輯/關閉了一些次數,用戶點擊「提交」,div被追加到表單中,然後當我嘗試再次對話('打開')時,Firebug顯示它保持正確的位置表單 - jQuery似乎不會嘗試再次移動它,而只是改變它的內聯樣式。有誰知道這是爲什麼?
編輯2:我不知道我有多麼的HTML /腳本的多少會幫助你,它基本上是你想象的只是它是什麼:
<form id="foo"><! -- some form stuff -->
<div id="stufftoputindialog" style="display:none;">
<!-- text boxes/textareas to put in dialog -->
</div>
</form>
和
$('#stufftoputindialog').dialog({
height: 550,
width: 400,
modal: true,
buttons: {
"OK": function() { $(this).dialog("close"); },
"Cancel": function() { $(this).dialog("close"); }
},
autoOpen: false
}
點擊編輯按鈕:
$('#stufftoputindialog').dialog('open');
上提交的表格:
$('#stufftoputindialog').appendTo('form#foo');
然後再次編輯按鈕的點擊,
$('#stufftoputindialog').dialog('open');
導致UI trainwreck(根據螢火蟲,#stufftoputindialog沒有形式到右外就像它的移動</body>
前第一次)
難道我們看到一些你的HTML,還有可能是你的腳本,如果它有意義? – Ender 2010-08-20 17:56:50