我有一個jQuery對話框,允許用戶保存筆記。這裏的情景:從jquery對話框中刪除未保存的文本
- 用戶打開的第一次對話,並增加了一記
- 用戶打開的對話框中(當他們重新打開該對話框中的新便箋顯示出來),類型的東西,然後點擊取消(當他們重新打開對話框時,註釋顯示爲在步驟1中保存的好)
- 用戶打開對話框並更新註釋(當它們重新打開對話框時註釋已根據需要更改)
- 用戶打開對話框並單擊取消(現在當他們重新打開對話框時,該註釋將恢復步驟1中保存的值)
因此,當用戶更新筆記時,問題出現,然後重新打開對話框並點擊取消。該表格將恢復到第一次保存。這裏的腳本:
jQuery(function() {
var originalContent;
jQuery("#dialog-form").dialog({
autoOpen: false,
resizable: false,
height: 480,
width: 460,
modal: true,
buttons: {
"Save": function() {
jQuery(".edit_user_property").submit();
jQuery("#dialog-form").dialog('close');
},
"Cancel": function(event, ui) {
jQuery("#dialog-form").html(originalContent).dialog('close');
},
},
open: function(event, ui) {
originalContent = jQuery("#dialog-form").html();
},
}),
jQuery('.ui-dialog-titlebar-close').click(function() {
originalContent = jQuery("#dialog-form").html();
jQuery(".edit_user_property").submit();
})
});
我想存儲爲這裏概述當用戶取消https://stackoverflow.com/a/8969084/2074243然後傳遞當前狀態。我試圖更新我的變量和提交,但都沒有工作。看起來這個變量落後了一步。我的對話框是通過link_to_function打開的:
<%=link_to_function("Notes", 'jQuery("#dialog-form").dialog("open")' %>
如果有問題。另外,我運行Rails 2.3.17,因此使用jQuery與$。另外,如果有幫助,請使用以下格式:
<div id="dialog-form" title="Notes";">
<form action="/properties/add_notes" class="edit_user_property" id="edit_user_property_108458" method="post" onsubmit="new Ajax.Request('/properties/200465/add_notes', {asynchronous:true, evalScripts:true, parameters:Form.serialize(this)}); return false;"><div style="margin:0;padding:0;display:inline"><input name="_method" type="hidden" value="put" /><input name="authenticity_token" type="hidden" value="6/D6syvFo5nuLxla9dzcIadK5NbYxpPGKqilOwT+7Xw=" /></div>
<textarea id="user_property_notes" name="user_property[notes]" placeholder="Add notes" rows="20">Great property right</textarea>
</form>
</div>
幾個問題 - 取消應該是'取消',你在取消功能的選擇器中缺少一個#。另外,它看起來並不像在更新'.ui-dialog-titlebar-close'點擊函數中的originalContent變量。 – Jason
我已經更新了腳本。仍然有相同的問題。任何其他建議。謝謝 –