如何从 barcodescanner 中获取 result.text 并用作数组
How to take the result.text from barcodescanner and use as an array
我正在尝试获取从 Cordova Barcode Scanner 返回的 result.text 并将要使用的数据字符串解析为数组,以便我可以在表单中填充输入字段。
这是我的示例代码:
document.addEventListener("deviceready", function() {
$scope.scanMaterial = function() {
$cordovaBarcodeScanner
.scan()
.then(function(result) {
var myresult = result.text;
alert(myresult);
}, function(error) {
console.log("An error has happened " + error);
});
};
}, false);
我得到的条码数据:
W:966227, I:0253-0050-22, MFG:01/15, B:034, QTY:56, N:00034
我的最终结果是获取这串数据并获取它,这样我就可以填充以下变量:
var dataObj = {
SessionId: SessionId,
JobId: $stateParams.JobId,
ManufactureDate: $scope.ManufactureDate,
BatchCode: $scope.BatchCode,
SKU: $scope.SKU,
ManufactureOrigin: 'unknown',
CreatedClient: $scope.CreatedClient,
Latitude: $scope.lat,
Longitude: $scope.long,
Product: { Id : 1}
};
cfpLoadingBar.start();
$http.post(baseUrl + 'Material/PostNewMaterial', dataObj)
.success(function() {
alertsManager.addAlert('Success: You have successfully added material.', 'alert-success');
cfpLoadingBar.complete();
$scope.materialCollapsed = true;
}).error(function(dataObj) {
alertsManager.addAlert('Failure Meesage: ' + JSON.stringify({dataObj:dataObj}), 'alert-danger');
cfpLoadingBar.complete();
});
$timeout(function(){
alertsManager.clearAlerts();
}, 5000);
};
这给出了所需的结果,并将 result.text 拆分为可用格式,然后可以将其发送回 API 服务器。
document.addEventListener("deviceready", function() {
$scope.scanMaterial = function() {
$cordovaBarcodeScanner
.scan()
.then(function(result) {
var codeArray = result.text.split(',');
$scope.SKU = codeArray[1].replace("I:", "").trim();
$scope.controlNo = codeArray[0].replace("W:", "").trim();
$scope.ManufactureDate = codeArray[2].replace("MFG:", "").trim();
$scope.BatchCode = codeArray[3].replace("B:", "").trim();
var dataObj = {
SessionId: SessionId,
JobId: $stateParams.JobId,
ManufactureDate: $scope.ManufactureDate,
BatchCode: $scope.BatchCode,
SKU: $scope.SKU,
ManufactureOrigin: 'unknown',
CreatedClient: new Date(),
Latitude: $scope.lat,
Longitude: $scope.long,
Product: { Id : 1}
};
$http.post(baseUrl + 'Material/PostNewMaterial', dataObj)
.success(function() {
alertsManager.addAlert('Success: You have successfully added material.', 'alert-success');
$state.go('^');
}).error(function(dataObj) {
alertsManager.addAlert('Failure Meesage: ' + JSON.stringify({dataObj:dataObj}), 'alert-danger');
});
$timeout(function(){
alertsManager.clearAlerts();
}, 5000);
}, function(error) {
console.log("An error has happened " + error);
});
};
}, false);
我正在尝试获取从 Cordova Barcode Scanner 返回的 result.text 并将要使用的数据字符串解析为数组,以便我可以在表单中填充输入字段。
这是我的示例代码:
document.addEventListener("deviceready", function() {
$scope.scanMaterial = function() {
$cordovaBarcodeScanner
.scan()
.then(function(result) {
var myresult = result.text;
alert(myresult);
}, function(error) {
console.log("An error has happened " + error);
});
};
}, false);
我得到的条码数据: W:966227, I:0253-0050-22, MFG:01/15, B:034, QTY:56, N:00034
我的最终结果是获取这串数据并获取它,这样我就可以填充以下变量:
var dataObj = {
SessionId: SessionId,
JobId: $stateParams.JobId,
ManufactureDate: $scope.ManufactureDate,
BatchCode: $scope.BatchCode,
SKU: $scope.SKU,
ManufactureOrigin: 'unknown',
CreatedClient: $scope.CreatedClient,
Latitude: $scope.lat,
Longitude: $scope.long,
Product: { Id : 1}
};
cfpLoadingBar.start();
$http.post(baseUrl + 'Material/PostNewMaterial', dataObj)
.success(function() {
alertsManager.addAlert('Success: You have successfully added material.', 'alert-success');
cfpLoadingBar.complete();
$scope.materialCollapsed = true;
}).error(function(dataObj) {
alertsManager.addAlert('Failure Meesage: ' + JSON.stringify({dataObj:dataObj}), 'alert-danger');
cfpLoadingBar.complete();
});
$timeout(function(){
alertsManager.clearAlerts();
}, 5000);
};
这给出了所需的结果,并将 result.text 拆分为可用格式,然后可以将其发送回 API 服务器。
document.addEventListener("deviceready", function() {
$scope.scanMaterial = function() {
$cordovaBarcodeScanner
.scan()
.then(function(result) {
var codeArray = result.text.split(',');
$scope.SKU = codeArray[1].replace("I:", "").trim();
$scope.controlNo = codeArray[0].replace("W:", "").trim();
$scope.ManufactureDate = codeArray[2].replace("MFG:", "").trim();
$scope.BatchCode = codeArray[3].replace("B:", "").trim();
var dataObj = {
SessionId: SessionId,
JobId: $stateParams.JobId,
ManufactureDate: $scope.ManufactureDate,
BatchCode: $scope.BatchCode,
SKU: $scope.SKU,
ManufactureOrigin: 'unknown',
CreatedClient: new Date(),
Latitude: $scope.lat,
Longitude: $scope.long,
Product: { Id : 1}
};
$http.post(baseUrl + 'Material/PostNewMaterial', dataObj)
.success(function() {
alertsManager.addAlert('Success: You have successfully added material.', 'alert-success');
$state.go('^');
}).error(function(dataObj) {
alertsManager.addAlert('Failure Meesage: ' + JSON.stringify({dataObj:dataObj}), 'alert-danger');
});
$timeout(function(){
alertsManager.clearAlerts();
}, 5000);
}, function(error) {
console.log("An error has happened " + error);
});
};
}, false);