【问题标题】:How to submit a simple_form with stimulus remote true如何使用刺激远程 true 提交 simple_form
【发布时间】:2020-11-20 12:35:47
【问题描述】:

我有一个非常简单的表格

  span data-controller='reassignment'
    = simple_form_for some_model, remote: true, html: {'data-target': 'reassignment.form'} do |f|
      = f.association :user,
        collection: User.all,
        label: false,
        include_blank: 'Unassigned',
        input_html: { \
          "data-target": "reassignment.user", \
          "data-action": "change->reassignment#submitForm" \
          }

现在我的刺激看起来像

import { Controller } from 'stimulus'

export default class extends Controller {

  static targets = ['user', 'form']

  submitForm(){
    this.formTarget.submit()
  }

  onPostSuccess(event) {
    console.log("success!")
  }
}

表单提交但它不尊重remote: true

【问题讨论】:

    标签: ruby-on-rails simple-form-for stimulusjs


    【解决方案1】:

    在提交时尝试使用 preventDefault。您需要阻止按钮执行正常操作。

    submitForm(e){
      e.preventDefault()
      this.formTarget.submit()
    }
    

    【讨论】:

      【解决方案2】:

      这应该可以解决问题。

      import { Controller } from 'stimulus'
      import Rails from "@rails/ujs"
      
      export default class extends Controller {
      
        static targets = ['user', 'form']
      
        submitForm(){
          Rails.fire(this.formTarget, 'submit')
        }
      
        onPostSuccess(event) {
          console.log("success!")
        }
      }
      

      【讨论】:

        猜你喜欢
        • 2022-01-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-05-28
        • 2022-11-18
        • 1970-01-01
        • 1970-01-01
        • 2014-04-22
        相关资源
        最近更新 更多