我在同一頁面上有幾個表單,我想使用相同的代碼向所有人添加一個確認對話框。他們都有一種確認形式,確認對話框的標題應該動態生成(這不是atm工作)。jQuery ui確認多個表單上的對話框
在html中,我有一個對話框,當頁面加載時隱藏起來,它會在調用dialog('open')
函數後顯示。
這是我現在已經和它只是不工作,該對話框載荷,但一旦你按下確認,它重複else子句了很多,不提交表單:
var deleteConfirmed = false;
$('form.confirm-form').submit(function(e) {
if (! deleteConfirmed)
{
e.preventDefault();
var title = $(this).find('input.action').val();
var $this = $(this);
console.log('title: ' + title);
$('#confirm-dialog').attr('title', title);
$('#confirm-dialog').dialog({
buttons : {
"Confirm" : function() {
deleteConfirmed = true;
$(this).dialog('close');
$this.submit();
},
"Cancel" : function() {
$(this).dialog('close');
}
}
});
$('#confirm-dialog').dialog('open');
}
else
{
$(this).submit();
deleteConfirmed = false;
}
});
這確實工作謝謝!儘管在閱讀你的文章之前,我用不同的方式解決了這個問題,但它可能不如你的文章好,但它起作用!當他們確認了這個行爲後,我只是將它們轉發到表單處理的地方,而不是試圖提交表單。這將是非常容易,但如果有一個相反的功能「preventDefault()」 – Becky 2010-10-08 09:23:58
不客氣。我很高興它有幫助。我有一個類似的要求,用jQuery對話框代替普通的香草JavaScript警告對話框。稍後使用發佈的代碼片段後,我可以分解出分配給$ current的對象字面值的'.bind'和do_submit屬性。至於event.preventDefault()的反轉或反轉,相關的jQuery API頁面有一些與此http://api.jquery.com/event.preventDefault/相關的有趣評論。 – JTP 2010-10-08 16:09:05