我正试图找到答案,但我找不到解决它的问题。
我正在使用ionicPopup向用户询问一些输入。此弹出窗口具有inputType
属性,如果为number
,则会显示数字键盘。这是用户的最佳方式,因为我只要求数字。
对于ionicPopup
我正在使用:
$ionicPopup.prompt({
title: 'Weight',
template: 'Add new weight ' + '(' + $scope.measurementProfile + ')',
inputType: 'number',
inputPlaceholder: convertDisplay(item.weight),
cancelText: 'Cancel',
okText: 'Ok'
}).then(function (res) {
....
然后我用这些行(不是我的)切换到cordova-dialogs-plugin
// Override the default HTML alert with native dialog - requires the cordova dialogs plugin
if (navigator.notification) {
window.alert = function (message) {
navigator.notification.alert(
message, // message
null, // callback
"MyApp", // title
'OK' // buttonName
);
};
}
你得到了一种本土风格。所以:
navigator.notification.prompt('Add new weight ' + '(' + $scope.measurementProfile + ')',
function(res){
add(res, id);
},
'MyApp', ['Ok', 'Cancel'],'');
将获得这个漂亮的原生警报/提示,但它不支持像{ionvopup这样的inputType
。
我迷路了。我需要编辑cordova-dialogs-plugin才能接受号码吗?我已经阅读了文档而一无所获。
谢谢!
答案 0 :(得分:0)
@Esselans,
Google:phonegap android force numeric keyboard
FWIW: Cordova 将代替phonegap。
您的回答是第一篇文章:Triggering Numeric Keyboards with HTML5
您的问题的答案是:<input type="number" step="0.01">
答案 1 :(得分:0)
在插件的CDVNotification.m中,您可以在此处添加一行:
if ([dialogType isEqualToString:DIALOG_TYPE_PROMPT]) {
[alertController addTextFieldWithConfigurationHandler:^(UITextField *textField) {
textField.text = defaultText;
//Use the number pad by adding this line
textField.keyboardType=UIKeyboardTypeNumberPad;
}];
}