确认对话cordova应用程序

时间:2013-11-13 21:18:50

标签: javascript jquery cordova

我正在使用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 == true) {
        diario_delete(iddb);
    } else {
        $('#popupMenuDiario').popup("close");
    } 
}

好像可以工作但是如果在按下“确认按钮”之前选择“取消按钮”(所以r =假)n次,则新的时间确认对话框被显示2次,nex时间显示3次,并且等等。我不知道为什么会有这种行为。 同样如果更改代码,我使用cordova的示例代码进行确认对话。 关于什么是问题以及如何解决它的任何想法? 谢谢!

2 个答案:

答案 0 :(得分:3)

您应该使用Phonegap支持的原生notification

特别是.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
);

答案 1 :(得分: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');

    }

    }