运行 jquery ujs 提交远程表单后的函数

Run function after jquery ujs submits remote form

    <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 实现吗?

您的表单最终有两个提交操作,一个是操作,一个是 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>