Я сканирую штрих-код, используя плагины сканера штрих-кода в телефоне. Получив значение, я хочу показать это в текстовом поле. Ниже мой текст поле код:Как изменить значение текстового поля в sencha touch?
{
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);
});
И я поставил реф в контроллере, как показано ниже:
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);
// предупреждение ("Мы получили штрих-код \ n "+ //" Результат: "+ result.text); }, функция (ошибка) { предупреждение («Ошибка сканирования:» + ошибка); }); } });
Когда я показываю значение в диалоговом окне, оно отображается правильно. Но не удалось установить в текстовое поле. Как я могу установить штрих-код? Пожалуйста помоги.
ошибку ниже я am getting: Не могу вызвать метод setValue из undefined –