2013-11-13 4 views
1

Я пишу приложение в javascript и html с помощью phonegap/cordova. У меня есть этот код в JavaScript:подтвердить диалог cordova app

$('#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"); 
    } 
} 

Это, кажется, работает, но если я выбираю «кнопка отмены» (так г = ложь) п раз, прежде чем я нажимаю кнопку «подтвердить», новое время диалогового окна подтверждения отображаемые 2 раза, неактивное время отображается 3 раза и т. Д. Я не знаю, почему такое поведение. То же самое, если изменить код, и я использую пример кода cordova для подтверждения диалога. Любые идеи о том, что является проблемой и как я могу ее решить? Спасибо!

+0

Как вы нажимаете кнопку п раз отменить до кнопки подтверждения? Когда я нажимаю кнопку «Отмена», диалог сразу увольняется, и у меня нет времени нажимать его более одного раза. Вы каким-то образом нажимаете кнопку на сверхчеловеческих скоростях? На каком устройстве вы тестируете это? Кроме того, вы должны использовать плагин уведомлений, так как Cordova/Phonegap использует подтверждение, приглашение и т. Д. Для передачи сообщений с javascript на собственный код. (подтверждение, подсказка и т. д. может работать, но это небезопасно.) Попробуйте это с помощью http://cordova.apache.org/docs/en/3.1.0/cordova_notification_notification.md.html#notification.confirm – MBillau

+0

Я буду попробуйте как можно скорее. Однако появляется диалоговое окно подтверждения, я выбираю кнопку отмены, он отклоняется, а затем снова появляется. – mary

+0

Он не должен появляться, если вы нажмете кнопку отмены. Можете ли вы попытаться просто сделать очень простой диалог подтверждения и посмотреть, можете ли вы воспроизвести поведение без jQuery? Я думаю, что может быть что-то в вашем коде jQuery, но это не выглядит неправильно (я не использую jquery, хотя ...) – MBillau

ответ

3

Вы должны использовать родной notification, который поддерживает 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 
); 
+0

С этим кодом у меня такая же проблема, и, кроме того, она не выполняет функцию onConfirm , – mary

+0

Появляется ли предупреждение? Есть ли ошибки в консоли? –

+0

У меня нет ошибки в консоли, и не отображается предупреждение. – mary

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'); 

    } 

    } 
Смежные вопросы