javascript - 通过 form.submit() 传递属性;

标签 javascript

我正在尝试在 Django Web 应用程序中使用 javascript 处理单按钮上传文件,并且我已经到了需要执行 2 种类型的文件上传的地步,为了做到这一点,我需要 name 属性用于测试的提交按钮,我需要知道是否有一个选项可以通过 onchange=this.form.submit();

这对我来说效果很好:

<form method='POST' enctype="multipart/form-data">
          {% csrf_token %}
        <input type="file" name="replace">
        <button type="submit" name="replace">replace</button>
    </form>
    <form method='POST' enctype="multipart/form-data">
            {% csrf_token %}
        <input type="file" name="add">
        <button type="submit" name="add">add</button>
    </form>

我正在尝试做什么:

 <form method="post" enctype="multipart/form-data">
            {% csrf_token %}
            <label for="file-upload-add" class="btn btn-primary">
                 <span class="glyphicon glyphicon-open"></span>Replace with CSV
            </label>
            <input id="file-upload-add" type="file" name="replace" onchange="this.form.submit()"/>
        </form>
<form method="post" enctype="multipart/form-data">
            {% csrf_token %}
            <label for="file-upload-add" class="btn btn-primary">
                 <span class="glyphicon glyphicon-open"></span>add CSV
            </label>
            <input id="file-upload-add" type="file" name="add" onchange="this.form.submit()"/>
        </form>

最佳答案

提交按钮仅在用于提交表单时才会发送其名称/值对。

您正在使用 JavaScript 来提交表单,因此不会发送该表单。

将名称和值放在 <input type="hidden"> 上反而。您有单独的表单,因此无需区分使用了哪个按钮。

关于javascript - 通过 form.submit() 传递属性;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59773704/

相关文章:

javascript - 本地存储和本地文件

javascript - 在 HTML5 中声明脚本标签的最佳方式是什么?

javascript - 如何使 <td> 可点击

javascript - 使用 recompose 和 react-google-maps 使用 Google Maps API 获取错误

javascript - 如何在 javascript 中将 x 坐标转换为像素?

php - 计算固定 map 大小和动态对象位置的比例因子

javascript - 根据用户输入验证数学公式

javascript - XSLT 分页显示一些计算的节点值以及在下一行检索到的前一行值 (II)

javascript - 显示具有多个父节点的 D3 树

javascript - 如何在 Opera 的弹出窗口中添加 onload 事件监听器