在通过AJAX成功创建记录之后,rails表单仍然存在,其中包含用于创建新记录的数据。
表单调用
<%= form_with model: Usercontent.new, data: {'js-usercontent-form' => true} do |form| %>
<form data-js-usercontent-form="true" action="/usercontents?locale=en" accept-charset="UTF-8" data-remote="true" method="post">
尝试通过reset
重置没有数据的表单
$(document).on('turbolinks:load', function() {
$('[data-js-usercontent-form]').on("ajax:success", function(event, data, status, xhr){
var usercontent = $(xhr.responseText).hide();
$('#usercontents').append(usercontent);
usercontent.fadeIn(1000);
document.getElementById('data-js-usercontent-form').reset();
});
$('[data-js-usercontent-id]').on("ajax:success", function(event, data, status, xhr){
var usercontent_id = xhr.responseJSON.id;
$('[data-js-usercontent-id=' + usercontent_id + ']').hide();
});
});
不幸的是失败了。有多个字段,因此问题是,是否有一种方法可以将所有字段清除为其默认(空或提示)状态更新,同时保持销毁块的完整性?
发布于 2019-05-20 13:03:20
所以,看起来您的目标是ID="data-js-usercontent-form"
表单,但在呈现的HTML中,我看不到该ID。您指示用户内容正在工作,但它的目标是另一个元素。
请更改调用以创建表单:
<%= form_with model: Usercontent.new, id: 'data-js-usercontent-form', data: {'js-usercontent-form' => true} do |form| %>
这个错误应该已经记录在你的开发者工具控制台上了,我总是建议你去检查它,以防你遇到JS问题。
https://stackoverflow.com/questions/56207911
复制相似问题