Javascript 我怎样才能有一个标题为“on”且返回true/false的确认对话框;“好的”;及;取消“;事件?

Javascript 我怎样才能有一个标题为“on”且返回true/false的确认对话框;“好的”;及;取消“;事件?,javascript,confirm-dialog,Javascript,Confirm Dialog,我已经创建了一个确认框,它按预期工作,并在单击按钮时返回true/false。但这是一个常规的confirm,我无法设置自定义标题 function Validate() { if ($('#cphBody_gvBins').find("input[value='Edit']").length > 0 || $('#cphBody_gvBins').find("input[value='Update']").length > 0 ) { var mConfi

我已经创建了一个确认框,它按预期工作,并在单击按钮时返回true/false。但这是一个常规的
confirm
,我无法设置自定义标题

function Validate() {

    if ($('#cphBody_gvBins').find("input[value='Edit']").length > 0 || $('#cphBody_gvBins').find("input[value='Update']").length > 0 ) {
        var mConfirm = confirm("The Record contains data that will be deleted. Do you still want to proceed?");
        return mConfirm;
    }
}
我在客户端事件中调用它。该函数返回true或false

<asp:Button ID="btnIssuerRemove" runat="server" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" 
    CausesValidation="false" CommandName="Remove" Text="Remove" OnCommand="issuerCommand_Click" OnClientClick="return Validate()"/>
现在,通过设置,当我单击“删除”按钮时,将显示对话框。 但是,它不会在“OK”上执行任何操作


我如何从这里返回true/false,因此,当按下“取消”时我不会删除记录,当按下“确定”时我不会删除记录。

您没有发布完整的
HTML
,因此我在使用示例中提供的ID创建一些
HTML
内容时有一些自由。下一次,请发布完整的
HTML
,这样我们就可以清楚地看到您想要实现的目标。另外,看起来您正在使用
jQuery
jqueryui
对话框,尽管您没有明确向我们显示/说明这一点

下面是一个测试记录示例,其中包含您在
JS
中识别的3个按钮。单击删除按钮后,您的
IF
语句将检查是否存在编辑/更新按钮,然后允许触发确认对话框

请参阅此处的UI对话框的进一步文档:

函数验证(thisRecordRow){
如果($('#cphBody_gvBins').find('input[value='Edit']).length>0('#cphBody_gvBins').find('input[value='Update'])。length>0){
var tableRow=$(thisRecordRow).parent('td').parent('tr');
/*
不假思索的逻辑
*/
CheckForBinsNoDefer(表格行);
/*延迟逻辑结束,因为它不适用于JQUERY版本
CheckForBinsDefer(tableRow)。然后(函数(应答){
console.log(应答);//删除我
返回答案;
});
*/
}
}
函数DoDeleteFunction(tableRow,deleteRow){
console.log(deleteRow);//删除我
如果(删除行){
//删除逻辑吗
//例如:
$(tableRow).remove();
}否则{
//无所事事
}
}
函数CheckForBinsNoDefer(tableRow){
$(“#对话框”)。对话框({
标题:“删除记录”,
莫代尔:是的,
可调整大小:false,
宽度:400,
按钮:{
“Ok”:函数(){
//用true调用DoDeleteFunction;
DoDeleteFunction(tableRow,true);
$(此).dialog(“关闭”);
},
“取消”:函数(){
//用false调用DoDeleteFunction;
DoDeleteFunction(tableRow,false);
$(此).dialog(“关闭”);
}
}
});
}
函数CheckForBinsDefer(tableRow){
var defer=$.Deferred();
$(“#对话框”)。对话框({
标题:“删除记录”,
莫代尔:是的,
可调整大小:false,
宽度:400,
按钮:{
“Ok”:函数(){
延迟。解决(true);
$(此).dialog(“关闭”);
},
“取消”:函数(){
延迟。解决(错误);
$(此).dialog(“关闭”);
}
}
});
返回delay.promise();
}
#对话框{
显示:无;
}

你确定吗?
测试记录1
测试记录2
测试记录3

您的问题的答案在这里:也许考虑使用函数而不是所有复杂的标记和脚本?当单击“OK”时,我调用一个代码后面的方法来移除项。我在我的示例中的按钮控件中显示了它。如果我错过了,很抱歉。我看到您使用的是JS确认框。对于jQuery对话框,您可以将“删除所有项”文本更改为“确定”。如果您不想使用jQuery对话框,您可以继续使用JS确认框,只需像单击OK it Dos OK action或Cancel closes dialog dosen not do action时所示的那样包装If语句:请告诉我是否可以进一步帮助。我不想使用JS确认。我以前有过。我不想使用它的原因是它不允许我有一个自定义标题10-4。同样,请让我知道,如果你需要更多的帮助与我张贴的例子或需要帮助适应它在不同的方式。谢谢你的例子和我之前的一样,它不起作用
<div id="dialogBox">
    Are you sure?
</div> 
function CheckForBins() {

    if ($('#cphBody_gvBins').find("input[value='Edit']").length > 0 || $('#cphBody_gvBins').find("input[value='Update']").length > 0) {
        //var mConfirm = confirm("The issuer contains Bins that will be deleted. Do you still want to proceed?");
        $("#dialogBox").dialog({
            title: "System Message",
            modal: true,
            resizable: false,
            width: 250,
            buttons: {
                Cancel: function () {
                    $(this).dialog('close');    
                },
                OK: function(){
                    $(this).dialog('close');
                }
            }
        });

        return false;
    }
}