1

我正在用 phonegap/cordova 用 javascript 和 html 编写一个应用程序。我在javascript中有这段代码:

$('#diario_delete_btn').live('tap',function(e){
    var iddb = $(this).find('a').attr('rel');
    confirm_diario_delete(iddb);        
});

function diario_delete(iddb) {
    var db = window.openDatabase("Database", "1.0", "123nozze", 200000); 
    db.transaction(function(tx){
        tx.executeSql('DELETE FROM AgendaItemJDO WHERE id='+iddb); 
        lastChangeUpdate();
    });

    $('.diario_row[db_id="'+ iddb +'"]').remove();
    $('#popupMenuDiario').popup("close");
}

function confirm_diario_delete(iddb) {
    var r = confirm("Confermi l'eliminazione dell'elemento?");
    if (r) {
        diario_delete(iddb);
    } else {
        $('#popupMenuDiario').popup("close");
    } 
}

它似乎有效,但如果我在按下“确认按钮”之前选择“取消按钮”(所以 r = false)n 次,下次确认对话框显示 2 次,下次显示 3 次,依此类推。我不知道为什么会这样。如果更改代码并且我使用 Cordova 示例代码进行确认对话框也是如此。

关于问题是什么以及如何解决的任何想法?谢谢!

4

2 回答 2

4

您应该使用Phonegap 支持的本机通知。

特别是从上面的链接中获取的 .confirm() 方法;

// process the confirmation dialog result
function onConfirm(button) {
    alert('You selected button ' + button);
}

// Show a custom confirmation dialog    
//

navigator.notification.confirm(
    'You are the winner!',  // message
    onConfirm,              // callback to invoke with index of button pressed
    'Game Over',            // title
    'Restart,Exit'          // buttonLabels
);
于 2013-11-14T00:02:34.600 回答
2
   navigator.notification.confirm(
        'Are you sure you want to signup ',  // message
        onConfirm,              // callback to invoke with index of button pressed
        'SignUp',            // title
         ['yes','no']             // buttonLabels
    );

    function onConfirm(buttonIndex){
    alert('You selected button ' + buttonIndex);
    if(buttonIndex==2){
    alert('You selected button - no');
    }else{
    alert('You selected button - yes');

    }

    }
于 2015-03-26T02:07:26.927 回答