【问题标题】:Reset file field through stimulus controller通过刺激控制器重置文件字段
【发布时间】:2022-06-29 00:42:59
【问题描述】:

我有一个通过刺激控制器提交的表单。

#form.html.haml

= form_with url: my_url, multipart: true, data: { turbo_frame: 'document_table_content', turbo_action: 'advanced' } do |f|
  = f.file_field 'documents[files]', multiple: true, direct_upload: true, data: { 'dropzone-target' => 'input' }

#dropzone_controller.js

Rails.fire(this.form, "submit");

这行得通,我还想在提交后重置文件字段,我通过this.inputTarget 有目标,但我不知道如何从这个表单字段中删除所有文件。

【问题讨论】:

    标签: ruby-on-rails stimulusjs hotwire


    【解决方案1】:

    您可以通过将值设置为空字符串来重置文件输入:

    this.inputTarget.setAttribute("value", "")
    

    【讨论】:

    • 这不适用于文件输入
    【解决方案2】:

    我一直觉得很奇怪,但是要实现文件输入的重置,你必须重置表单!

    document.querySelector('form').reset()
    

    【讨论】:

      猜你喜欢
      • 2023-01-01
      • 2021-02-13
      • 2020-11-11
      • 2022-11-18
      • 2021-07-20
      • 2022-06-26
      • 2021-03-06
      • 1970-01-01
      • 2019-12-10
      相关资源
      最近更新 更多