使用javascript上传文件后,excel CSV中的按钮和单选按钮

时间:2015-05-11 10:06:02

标签: javascript html

最初上传excel CSV(逗号分隔值)文件。此CSV文件在html页面中表示为表格格式。在这里,我需要添加一个单选按钮,按钮等,以及表格格式的表示。这可能不使用数据库吗? 提前谢谢。

  function Upload() {
var fileUpload = document.getElementById("fileUpload");
var regex = /^([a-zA-Z0-9\s_\\.\-:])+(.csv|.txt)$/;
if (regex.test(fileUpload.value.toLowerCase())) {
    if (typeof (FileReader) != "undefined") {
        var reader = new FileReader();
        reader.onload = function (e) {
            var table = document.createElement("table");
    var radio = document.createElement("radio");    
            var rows = e.target.result.split("\n");     
            for (var i = 0; i < rows.length; i++) {
                var row = table.insertRow(-1);


                var cells = rows[i].split(",");

                for (var j = 0; j < cells.length; j++) {
                    var cell = row.insertCell(-1);
                    cell.innerHTML = cells[j];
                }
            }

            var dvCSV = document.getElementById("dvCSV");
            dvCSV.innerHTML = "";
            dvCSV.appendChild(table);
     dvCSV.appendChild(radio);

        }

        reader.readAsText(fileUpload.files[0]);

    } else {
        alert("This browser does not support HTML5.");
    }
} else {
    alert("Please upload a valid CSV file.");
}

}

我创造了一个元素&#39; radio&#39;内部函数也作为子项附加,但它不会显示它。我的要求是,当放置每行CSV文件时,我需要在那里放置一个收音机和按钮。(用于选择的收音机和用于编辑行元素和保存文件的按钮)。

1 个答案:

答案 0 :(得分:2)

这一行

var radio = document.createElement("radio");

表示<radio></radio>。但是,没有radio标记。它是<input type="radio">

var radio = document.createElement("input");
radio.type = 'radio';

To&#34; group&#34;所有单选按钮在一起,您还需要给它们相同的名称:

radio.name = 'radio';

如果你说你也需要一个按钮,那就创建一个:

var button = document.createElement('button');
button.textContent = 'Click me';

但最重要的是,如果你每行需要它们,那么把它们放在那里,而不是其他地方:

reader.onload = function(e)
{
    var table = document.createElement("table");
    var rows = e.target.result.split("\n");
    for(var i = 0; i < rows.length; i++)
    {
        var row = table.insertRow(-1);
        var cells = rows[i].split(",");
        for(var j = 0; j < cells.length; j++)
        {
            var cell = row.insertCell(-1);
            cell.innerHTML = cells[j];
        }
        // Here:
        var radio = document.createElement("input");
        radio.type = 'radio';
        radio.name = 'radio';
        var button = document.createElement('button');
        button.textContent = 'Click me';
        var cell = row.insertCell(-1);
        cell.appendChild(radio);
        cell.appendChild(button);
    }
    var dvCSV = document.getElementById("dvCSV");
    dvCSV.innerHTML = "";
    dvCSV.appendChild(table);
}