<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实现这一目标?
答案 0 :(得分: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>