gpt4 book ai didi

javascript - Rails AJAX 调用以清除表单输入数据

转载 作者:行者123 更新时间:2023-12-02 23:37:57 25 4
gpt4 key购买 nike

通过 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();
});
});

不幸的是失败了。有多个字段,因此问题是是否有一种方法可以将所有字段清除为其默认(空或提示)状态更新,同时保持销毁 block 的完整性?

最佳答案

因此,您似乎正在使用 ID="data-js-usercontent-form" 来定位表单,但在呈现的 HTML 中,我没有看到该 ID。 Youi 表明 usercontent 正在运行,但它针对的是不同的元素。

请更改创建表单的调用:

<%= form_with model: Usercontent.new, id: 'data-js-usercontent-form', data: {'js-usercontent-form' => true} do |form| %>

此错误应该已记录在您的开发人员工具控制台中,我总是建议您检查它,以防遇到 JS 问题。

关于javascript - Rails AJAX 调用以清除表单输入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56207911/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com