Javascript 取消文件上载时的是/否对话框

Javascript 取消文件上载时的是/否对话框,javascript,jquery,asp.net,uploadify,Javascript,Jquery,Asp.net,Uploadify,我使用Uploadify进行文件上传,希望在用户取消上传时显示“是/否”对话框。我尝试了以下操作,但没有显示对话框。你知道下面的代码有什么问题吗 'onCancel': function (event, ID, fileObj, data) { var x = "Are you sure you want to take this action"; $('<div>' + x + '

我使用Uploadify进行文件上传,希望在用户取消上传时显示“是/否”对话框。我尝试了以下操作,但没有显示对话框。你知道下面的代码有什么问题吗

'onCancel': function (event, ID, fileObj, data) {                   
                var x = "Are you sure you want to take this action";
                $('<div>' + x + '</div>').dialog({
                    resizable: false,
                    autoOpen: true,
                    buttons: {
                        "Yes": function () {
                            alert('action taken');
                            $(this).dialog("close");
                        },
                        Cancel: function () {
                            $(this).dialog("close");
                        }
                    }
                });
'onCancel':函数(事件、ID、fileObj、数据){
var x=“是否确实要执行此操作”;
$(''+x+'')。对话框({
可调整大小:false,
自动打开:对,
按钮:{
“是”:函数(){
警报(“已采取的行动”);
$(此).dialog(“关闭”);
},
取消:函数(){
$(此).dialog(“关闭”);
}
}
});
如果您有任何建议/建议,我们将不胜感激!

请尝试以下方法:

var onCancel = function (event, ID, fileObj, data) {                   
            var x = "Are you sure you want to take this action";
            $('<div>' + x + '</div>').dialog({
                resizable: false,
                buttons: {
                    "Yes": function () {
                        alert('action taken');
                        $(this).dialog("close");
                    },
                    "Cancel": function () {
                        $(this).dialog("close");
                    }
                }
            });
         }
var onCancel=函数(事件、ID、fileObj、数据){
var x=“是否确实要执行此操作”;
$(''+x+'')。对话框({
可调整大小:false,
按钮:{
“是”:函数(){
警报(“已采取的行动”);
$(此).dialog(“关闭”);
},
“取消”:函数(){
$(此).dialog(“关闭”);
}
}
});
}

请尝试以下按钮:

buttons: [{
    text: 'Yes',
    click: function() {
        alert('action taken');
        $(this).dialog("close");  
    }},{
    text: 'Cancel',
    click: function() {
        $(this).dialog("close")   
    }}]

您是否将新创建的
div
附加到HTML的
正文

尝试:

onCancel:函数(事件、ID、文件对象、数据){
var x=“是否确实要执行此操作”;
var dlg=$('').attr('id','RUSure').text(x).dialog({
autoOpen:true,//确保它自动打开。
可调整大小:false,
按钮:{
“是”:函数(){
警报(“已采取的行动”);
$(此).dialog(“关闭”);
},
“取消”:函数(){
$(此).dialog(“关闭”);
}
}
})
$('body')。追加(dlg);
$('RUSure')。对话框('open');
//dialog('open');//或者这个?

$(文档).ready(函数(){
$('#cmdShowDialog')。单击(函数(事件){
event.preventDefault();
var$dialog=$(“带按钮的动态对话框”。)
对话
({
标题:“取消”,
宽度:300,
身高:200,
按钮:
[{
文字:“Ok”,
单击:函数(){
$dialog.dialog('close');
}
},
{
文本:“取消”,
单击:函数(){
$dialog.dialog('close');
}
}]
});
});
});

试试这个肯定会有用

我相信
取消
应该在引号中
'Cancel'
@elclars为什么?
({Cancel:'it works})
效果很好。你至少包括了js文件(可能是jquery ui)吗对于
对话框
?是的,我已经包含了jquery文件。您的意思是没有调用
onCancel
函数?正在调用onCancel,但其中没有任何内容。在代码示例中,关闭
}外部函数缺少
。我很确定这不是语法问题。VS.NET IDE足够智能,可以捕获这些内容。@GoldenUser哪个版本的Visual Studio?没有。我为什么需要这样做?
$(''+x+'')
创建一个未附加到DOM的新div。好的,您需要将其附加到DOM才能实际显示,以便用户可以与之交互。将其包装在
$('body')。append();
将其附加到HTML的
body
。您可能还需要给它一个
id
,并调用
$(id)。dialog('open'))
之后。谢谢。您能告诉我在上面的函数中应该将此代码放在哪里吗?似乎没有必要,请参见此处:也许jQuery已经为您将对话框附加到文档中。@GoldenUser:已清理答案并添加示例以打开对话框。
onCancel: function (event, ID, fileObj, data) {
    var x = "Are you sure you want to take this action";
    var dlg = $('<div />').attr('id', 'RUSure').text(x).dialog({
        autoOpen: true, //Make sure it opens automatically.
        resizable: false,
        buttons: {
            "Yes": function () {
                alert('action taken');
                $(this).dialog("close");
            },
            "Cancel": function () {
                $(this).dialog("close");
            }
        }
    })
    $('body').append(dlg);
    $('#RUSure').dialog('open');
    //dlg.dialog('open'); //or this, maybe?
 <link rel="stylesheet" href="http://code.jquery.com/ui/1.9.0/themes/base/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.8.2.js"></script>
<script src="/resources/demos/external/jquery.bgiframe-2.1.2.js"></script>
<script src="http://code.jquery.com/ui/1.9.0/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css" />
<script type="text/javascript">
    $(document).ready(function () {
        $('#cmdShowDialog').click(function (event) {
            event.preventDefault();
            var $dialog = $('<div>Dynamic Dialog with Buttons.</div>')
            .dialog
            ({
                title: 'Cancel',
                width: 300,
                height: 200,
                buttons:
                [{
                    text: "Ok",
                    click: function () {
                        $dialog.dialog('close');
                    }
                },
                {
                    text: "Cancel",
                    click: function () {
                        $dialog.dialog('close');
                    }
                }]
            });
        });
    });
</script>


 <div>
    <asp:Button ID="cmdShowDialog" runat="server" Text="Show Dialog" />
</div>