phonegap のバーコード スキャナー プラグインを使用してバーコードをスキャンしています。値を取得したら、これをテキストフィールドに表示したい。以下は私のテキストフィールドコードです:
{
xtype : 'textfield',
id : 'barcodetextfield',
width : 300,
margin : '0 0 0 10',
labelWidth : '40%',
label : 'Enter Barcode'
}
コントローラでは、テキスト フィールドにバーコード値を設定しようとしています。
window.plugins.barcodeScanner.scan(function(result) {
this.getBarcodebox.setValue(""+result.text);
}, function(error) {
alert("Scanning failed: " + error);
});
そして、私は以下のようにコントローラーにrefを入れました:
barcodebox : '#barcodetextfield',
これが私のコントローラーコード全体です:::
Ext.define('MyApp.controller.MyController', {
extend : 'Ext.app.Controller',
config : {
refs : {
TitlePanel : 'login',
dashboardpanel : 'dashboard',
ConsumerSignup : 'consumersignup',
AddtoWishlog : 'addwishlog',
wishlogsummary : 'wishlogsummarylist',
FeedbackSummary : 'feedbacksummarylist',
ConsumerSignin : 'Consumersignin',
barcodebox : '#barcodetextfield',
labelid : 'title'
},
views : [ 'TitlePanel', 'dashboardpanel', 'ConsumerSignup',
'AddtoWishlog', 'wishlogsummary', 'FeedbackSummary',
'ConsumerSignin' ],
control : {
"#LoginBtn" : {
tap : 'onLoginButtonTap'
},
"#wishloghomebutton" : {
tap : 'onWishlogHomeButtonTap'
},
"#feedbacksummaryhomebutton" : {
tap : 'onFeedbackHomeButtonTap'
},
"#wishlogbtn" : {
tap : 'onWishlogButtonTap'
},
"#Feedbackbtn" : {
tap : 'onFeedbackButtonTap'
},
"#signup" : {
tap : 'onSignupButtonTap'
},
"#capturebtn" : {
tap : 'onCaptureButtonTap'
},
"#consumersignuphomebutton" : {
tap : 'onConsumerSignupHomeButtonTap'
},
"#selectphoto" : {
tap : 'onSelectPhotoButtonTap'
},
"#scanbutton" : {
tap : 'onScanButtonTap'
}
}
},
slideLeftTransition : {
type : 'slide',
direction : 'left'
},
slideRightTransition : {
type : 'slide',
direction : 'right'
},
onLoginButtonTap : function(button, e, options) {
Ext.Viewport.setActiveItem(this.getDashboardpanel(),
this.slideLeftTransition);
// this.getLabelid.setHtml('Dashboard');
},
onWishlogButtonTap : function(button, e, options) {
Ext.Viewport.setActiveItem(this.getWishlogsummary(),
this.slideLeftTransition);
},
onFeedbackButtonTap : function(button, e, options) {
Ext.Viewport.setActiveItem(this.getFeedbackSummary(),
this.slideLeftTransition);
},
onSignupButtonTap : function(button, e, options) {
Ext.Viewport.setActiveItem(this.getConsumerSignup(),
this.slideLeftTransition);
},
onWishlogHomeButtonTap : function(button, e, options) {
Ext.Viewport.setActiveItem(this.getDashboardpanel(),
this.slideRightTransition);
},
onFeedbackHomeButtonTap : function(button, e, options) {
Ext.Viewport.setActiveItem(this.getDashboardpanel(),
this.slideRightTransition);
},
onConsumerSignupHomeButtonTap : function(button, e, options) {
Ext.Viewport.setActiveItem(this.getDashboardpanel(),
this.slideRightTransition);
},
onCaptureButtonTap : function(button, e, options) {
navigator.camera.getPicture(onPhotoURISuccess, onFail, {
quality : 100,
destinationType : Camera.DestinationType.FILE_URI
});
function onPhotoURISuccess(imageURI) {
// console.log(imageURI);
var largeImage = document.getElementById('capturedimage');
largeImage.style.display = 'block';
largeImage.src = imageURI;
}
function getPhoto(source) {
// Retrieve image file location from specified source
navigator.camera.getPicture(onPhotoURISuccess, onFail, {
quality : 100,
destinationType : destinationType.FILE_URI,
sourceType : source
});
}
function onFail(message) {
alert('It is failed: ' + message);
}
},
onSelectPhotoButtonTap : function(button, e, options) {
navigator.camera.getPicture(onPhotoURISuccess, onFail, {
quality : 50,
destinationType : navigator.camera.DestinationType.FILE_URI,
sourceType : navigator.camera.PictureSourceType.PHOTOLIBRARY
});
function onPhotoURISuccess(imageURI) {
// console.log(imageURI);
var largeImage = document.getElementById('capturedimage');
largeImage.style.display = 'block';
largeImage.src = imageURI;
}
function getPhoto(source) {
// Retrieve image file location from specified source
navigator.camera.getPicture(onPhotoURISuccess, onFail, {
quality : 100,
destinationType : destinationType.FILE_URI,
sourceType : source
});
}
function onFail(message) {
alert('It is failed: ' + message);
}
},
onScanButtonTap : function(button, e, options) {
window.plugins.barcodeScanner.scan(function(result) {
this.getBarcodebox().setValue(""+result.text);
// alert("バーコードを取得しました\n" + // "結果: " + result.text); }, function(error) { alert("スキャンに失敗しました: " + エラー); }); } });
ダイアログボックスに値を表示しているとき、正しく表示されています。ただし、テキストボックスに設定することはできません。バーコードを設定するにはどうすればよいですか?? 助けてください。