JQダイアログを使用して、ネイティブjsのconfirm()関数を置き換えています。それを中心的な関数として使用するために、関数に入れました。
var dialogID = "dialog_" + createUUID();
var width = 300;
var height = 150;
var url = "";
var formObj = "";
function jqConfirm(dialogID,title,txt,width,height,url,formObj) {
var dialog = $("#" + dialogID);
// generate the HTML
if (!$("#" + dialogID).length) {
dialog = $('<div id="' + dialogID + '" style="display:hidden;" class="loading"></div>').appendTo('body');
}
dialog.dialog({
bgiframe: true,
autoOpen: false,
width: width,
height: height,
minWidth:100,
minHeight:100,
maxWidth:980,
maxHeight:700,
modal: true,
dialogClass: 'dialogWithDropShadow',
resizable:false,
draggable:false,
show:'fade',
hide:'fade',
title: title,
buttons: [
{
text: "OK",
"class": 'mscbutton',
click: function() {
if (formObj.length) {
$(formObj).submit();
} else if (url.length) {
document.location.href = url;
}
$(this).dialog('close');
}
},
{
text: "Cancel",
"class": 'mscbutton',
click: function() {
$(this).dialog('close');
return false;
}
}
],
});
// fill the dialog
$(dialog).html(txt);
dialog.dialog('open');
$(dialog).removeClass('loading');
}
他の JS ファイル内から関数を呼び出します。js confirm() は、次のように使用します。
if (confirm('confirm me')) doThis();
しかし、この方法では「未定義」しか得られないため、私の関数では機能しません。
if (jqConfirm(paramstring...)) doThis();
ダイアログが開き、正常に動作しますが、何も返されないようです。私は何か間違ったことをしていることを知っています。しかし、何?
よろしくお願いします