javascript - 如何使用 Ajax 提交成功后重新加载特定表单?

标签 javascript jquery ajax

我目前正在尝试重新加载特定表单,即提交按钮的表单,纯粹是为了即时反馈。我正在创建一个收藏夹按钮。这是我当前的设置。 ajax 可以工作,但我仍然需要重新加载页面才能显示新样式,甚至更改 METHOD 类型,这是取消收藏-收藏所必需的。

$.ajax({
    type: method,
    url: url,
    data: form.serialize(),
    success: function() {
        form.reload();
    }
});

最佳答案

我想你可以清除所有字段:

$.ajax({
    type: method,
    url: url,
    data: form.serialize(),
    success: function() {
        form.find('input:text, input:password, input:file, select, textarea').val('');
        form.find('input:radio, input:checkbox')
             .removeAttr('checked').removeAttr('selected');
    }
});

取自此answer .

编辑:

正如评论中所指出的,也许您应该让服务器从新创建的项目发回信息。

然后您可以填充您拥有的"template",并用它替换表单:

var newItem = $("<div class='newItem'></div>");

$.ajax({
    type: method,
    url: url,
    data: form.serialize(),
    success: function( data ) {
        //Get response from server like : {'name':'Name', 'attribut':'Attribut'}
        for( var key in data ) {
            newItem.append("<p>" + key + " : " + data[key] + "</p>");
        }
        form.replaceWith(newItem);
    }
});

示例 JSFiddle .

关于javascript - 如何使用 Ajax 提交成功后重新加载特定表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25588583/

相关文章:

javascript - 在vue js中动态导入文件

javascript - <a> 当存在 Javascript 时,边栏中的链接不可点击

javascript - 如何在选择范围时显示输入范围值?

javascript - 如果无法修改 JSONP 中的 header 。 Chrome 中的 Twitter 扩展程序如何工作?

ajax - 浏览器会限制AJAX轮询率吗?有什么限制?

javascript - getelementbyid 仅适用于 php while 循环中的第一个 id

javascript - AngularJS:未捕获错误:来自 Angular 包含的 [$injector:modulerr]

jquery - 简单的Jquery显示隐藏问题

javascript - JS Code over AJAX with jQuery - 这种方法安全吗?

javascript - 我如何使用 JavaScript 从本地文件读取 CSS 规则