Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何导出表单数据_Javascript_Html_Export - Fatal编程技术网

Javascript 如何导出表单数据

Javascript 如何导出表单数据,javascript,html,export,Javascript,Html,Export,我是JS的新手,学习如何在点击特定表单的提交按钮时导出数据,我的代码如下: var stockData = [ { Email:document.getElementById("email").value, Password: document.getElementById("pwd").value, Name: document.getElementById("name").value, }

我是JS的新手,学习如何在点击特定表单的提交按钮时导出数据,我的代码如下:

var stockData = [
        {
            Email:document.getElementById("email").value,
            Password: document.getElementById("pwd").value,
            Name: document.getElementById("name").value,
        }

    ];
    function downloadCSV(args) {
        var data, filename, link;

        var csv = convertArrayOfObjectsToCSV({
            data: stockData
        });
        if (csv == null) return;

        filename = args.filename || 'export.csv';

        if (!csv.match(/^data:text\/csv/i)) {
            csv = 'data:text/csv;charset=utf-8,' + csv;
        }
        data = encodeURI(csv);

        link = document.createElement('a');
        link.setAttribute('href', data);
        link.setAttribute('download', filename);
        link.click();
    }


但是,当我导出数据时,即使我在字段中输入值,我也总是为空。感谢您的帮助。

这是因为您在加载js时获取字段值,而不是在用户单击按钮时获取字段值

请注意stockData变量声明。我把它移到了函数downloadcv

这是一个有效的解决方案

函数转换器arrayofobjectstocsvargs{ var结果、ctr、键、列分隔符、行分隔符、数据; data=args.data | | null; 如果data==null | |!data.length{ 返回null; } columnDelimiter=args.columnDelimiter | |','; lineDelimiter=args.lineDelimiter | |'\n'; keys=Object.keysdata[0]; 结果=; 结果+=keys.joincolumnDelimiter; 结果+=行分隔符; data.forEachfunctionitem{ ctr=0; keys.forEachfunctionkey{ 如果ctr>0结果+=列分隔符; 结果+=项目[关键]; ctr++; }; 结果+=行分隔符; }; 返回结果; } 函数下载csvargs{ var数据、文件名、链接; var stockData=[{ 电子邮件:document.getElementByIdemail.value, 密码:document.getElementByIdpwd.value, 名称:document.getElementByIdname.value, }]; var csv=convertArrayOfObjectsToCSV{ 数据:stockData }; 如果csv==null返回; filename=args.filename | |“export.csv”; 如果!csv.match/^data:text\/csv/i{ csv='数据:文本/csv;字符集=utf-8',+csv; } 数据=encodeURIcsv; link=document.createElement'a'; link.setAttribute'href',数据; setAttribute'download',文件名; link.click; } TestFormData 电邮: 密码: 姓名: 提交
你最好显示html表单,以帮助我们解决你的问题。有一个指向代码笔的链接