【问题标题】:HTML User Input to local file location本地文件位置的 HTML 用户输入
【发布时间】:2020-03-03 13:25:17
【问题描述】:

我正在尝试使用 HTML 和 javascript 创建一个表单,以便能够从用户那里检索 3 个不同的输入,将它们组合成 1 个 json 格式的表单,并将文件保存到本地文件位置。以下是我目前拥有的。 (我不清楚如何将 json 字符串保存到本地文件位置。提前感谢您的时间。(我是 javascript 和 html 新手)

<header class="banner">
<h1 style="color:blue">HTML User Input to local file location</h1><main>
    <form id="myform" type="post">
        <fieldset>
            <legend style="color:blue">Sign Up</legend>
            <p style="color:red">Write your con-fig codes below</p>
            <div class="elements">
                <label for="Input1">Input1 :</label>
                <input required="required" type="text" onfocus="this.value=''" value="Input1" 
name="Input1" size="25" />
            </div>
            <div class="elements">
                <label for="Input2">Input2 :</label>
                <input required="required" type="text" onfocus="this.value=''" value="Input2" 
name="Input2" size="25" />
            </div>
            <div class="elements">
                <label for="Input3">Input3 :</label>
                <input required="required" type="text" onfocus="this.value=''" value="Input3" 
name="Input3" size="25" />
            </div
            <div class="submit">
                <input type="submit" id="btn" name="submit" class="btn" value="Send" />
            </div>
        </fieldset>
    </form>
    <script type="text/javascript">
        $(document).ready(function() {
            $("#btn").click(function(e) {
                var jsonData = {};

                var formData = JSON.stringify($("#myForm").serializeArray());

                $.each(formData, function() {
                    if (jsonData[this.name]) {
                        if (!jsonData[this.name].push) {
                            jsonData[this.name] = [jsonData[this.name]];
                        }
                        jsonData[this.name].push(this.value || '');
                    } else {
                        jsonData[this.name] = this.value || '';
                    }

                });
                e.preventDefault();
            });
        });

    </script>
    </main>

【问题讨论】:

标签: javascript html json forms local-storage


【解决方案1】:

这肯定已经在多个地方被问过。喜欢HereHere。从以下链接之一复制的代码

function download(content, fileName, contentType) {
    var a = document.createElement("a");
    var file = new Blob([content], {type: contentType});
    a.href = URL.createObjectURL(file);
    a.download = fileName;
    a.click();
}
download(jsonData, 'json.txt', 'text/plain');

感谢@Rafał Łużyński。

请在实际提问之前更好地搜索解决方案。

【讨论】:

  • 啊,非常感谢!我仍然不确定它是如何工作的,但我会尝试。只是为了确认,我必须在我的 else 语句结束后输入这段代码? (对不起,我几乎没有这方面的经验)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-05
  • 2022-10-02
  • 2014-12-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多