【问题标题】:Run function after jquery ujs submits remote formjquery ujs提交远程表单后运行函数
【发布时间】:2019-01-02 09:31:57
【问题描述】:
    <form method='delete' data-remote='true' action={'/analysis_items/' + this.props.item.id}
      onSubmit={this.props.loadPathwayData}
    >
      <button type='submit' />
    </form>

我在 React + Rails 中有这个表单。提交表单时,jquery ujs 发送请求并且 onSubmit 正确运行,但 onSubmit 在表单发送之前运行,我需要它在之后运行。有什么办法可以用 jquery ujs 实现这个吗?

【问题讨论】:

    标签: jquery html reactjs rails-ujs


    【解决方案1】:

    您最终在表单上有两个提交操作,一个是操作,一个是 onSubmit 代码事件。相反,您可以删除该操作并在客户端 JS 中执行所有操作。

    例如,如果你想使用 jQuery。

    submitForm(e) {
        // don't submit form to server (page reload)
        e.preventDefault()
        // jquery to make delete request instead of form submit
        $.ajax({
            url: '/analysis_items/' + this.props.item.id,
            type: 'DELETE',
            success: function(result) {
                // then run your previous onSubmit js code
                this.props.loadPathwayData()
            }
        });
    }
    

    你的表格可能是这样的:

    <form onSubmit={submitForm}>
        <button type='submit' />
    </form>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-10-04
      • 1970-01-01
      • 2013-09-30
      • 1970-01-01
      • 2019-04-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多