2016-03-03 2 views
1

Cordova-плагин-диалогах: не работает должным образом navigator.notification.prompt

function onPrompt(results) { 
 
    if (results.buttonIndex == 1) { 
 
    alert('sucess');//working 
 
    } else { 
 
    alert('fail');//not working 
 
    } 
 
} 
 

 
navigator.notification.prompt(
 
    'Please enter your name', 
 
    onPrompt, 
 
    'Registration', 
 
    ['Ok', 'Exit'], 
 
    'Maruthi' 
 
);

onprompt() еще часть не работает, когда пользователь нажимает кнопку выхода, но если правильно работает, как его ожидать, когда пользователь нажимает на ok.

+0

alert (results.buttonIndex); ... предупредить кнопку getindex и проверить ... – Banik

+0

Я протестировал ваш код, и он отлично работает на Android и iOS. На какой платформе вы тестируете? вы уверены, что используете обновленный плагин? – jcesarmobile

+0

Я тестирую его на платформе Windows (ОС Windows Mobile 10). теперь он работает отлично. У меня была другая проблема с моей логикой. Благодарю. –

ответ

1

Вы должны проверить тип buttonIndex:

function onPrompt(results) { 
    if (results.buttonIndex === 1) { 
    alert('sucess'); 
    } else { 
    alert('fail'); 
    } 
} 

Если вы используете только два знака равенства, то 1 означает ИСТИНА, который всегда ИСТИНА в вашей функции, потому что buttonIndex имеет значение.

+0

Привет, Йорг. Спасибо за ваше предложение. Я тоже пробовал с ===, но не использовал :( –

1

Этот плагин возвращает разные buttonIndex для разных платформ, потому что на некоторых платформах это предупреждение также имеет закрытую кнопку «x», которая также подсчитывается, вы также должны проверить и платформу. Если я помню эту проблему, на iOS, где кнопка 1-закрыть; 2 -ok и 3 -exit