我正在尝试使用jQuery-csv将电子邮件地址的csv列表导入到表单域...一切正常,但是出于某种奇怪的原因,数组总是遗漏了最后一项(在本例中是:'adress-6@test.com')。
我的jQuery:
function process_csv() {
// The event listener for the file upload
document.getElementById('txtFileUpload').addEventListener('change', upload, false);
// Method that checks that the browser supports the HTML5 File API
function browserSupportFileUpload() {
var isCompatible = false;
if (window.File && window.FileReader && window.FileList && window.Blob) {
isCompatible = true;
}
return isCompatible;
}
// Method that reads and processes the selected file
function upload(evt) {
if (!browserSupportFileUpload()) {
alert('The File APIs are not fully supported in this browser!');
} else {
var data = null;
var files = evt.target.files;
var file = files[0];
var reader = new FileReader();
reader.readAsText(file);
reader.onload = function(event) {
var csv = event.target.result;
console.log(csv);
var data = jQuery.csv.toArrays(csv);
console.log(data);
if (data && data.length > 0) {
alert('Imported -' + data.length + '- rows successfully!');
var output = '';
for(var row in data){
for (var item in data[row]){
output += data[row][item] + ', ';
}
}
console.log(output);
} else {
alert('No data to import!');
}
$("input#field_50euu").val( output );
};
reader.onerror = function() {
alert('Unable to read ' + file.fileName);
};
}
}
};我一步一步地将这些值记录到控制台中。这是我得到的:
[Log] adress-1@test.com
adress-2@test.com
adress-3@test.com
adress-4@test.com
adress-5@test.com
adress-6@test.com (mandanteninformation.js, line 28)
[Log] [["adress-1@test.com"], ["adress-2@test.com"], ["adress-3@test.com"], ["adress-4@test.com"], ["adress-5@test.com"]] (5) (mandanteninformation.js, line 30)
[Log] adress-1@test.com, adress-2@test.com, adress-3@test.com, adress-4@test.com, adress-5@test.com, (mandanteninformation.js, line 41)当我编辑我的csv文件并在末尾添加一个空行时,我得到了所有的地址。
有人能告诉我,我的函数出了什么问题吗?我在网上找不到任何关于它的东西。
谢谢!
发布于 2016-09-21 22:59:35
我可以毫不费力地让您的代码(通过一些小的修改,包括外部文件)输出一个末尾没有空行的小CSV文件的所有行。
作为测试,我创建了这个CSV文件:
Col1,Col2,Col3
1,A,Red
2,B,Yellow
3,C,Blue然后使用此jsfiddle上载它,导致显示CSV文件的所有四行的警报。
请测试并回复您的结果。也许问题出在您的CSV文件,而不是您的代码。
https://stackoverflow.com/questions/39615107
复制相似问题