【发布时间】:2021-08-05 01:37:30
【问题描述】:
在使用 Ajax 提交之前,由于需要,我正在更改表单上所有输入的 ID。
问题是当我使用 Ajax 提交时,我需要使用 replaceWith 函数替换表单中所有字段的 html,但它没有这样做。它只是更改了 html,但是当我在浏览器中检查它时,它似乎保留了原始 html。 应替换 HTML,如图 2 所示。
为什么不能正确替换 HTML?这种情况不应该用replaceWith函数吗?
var genericModal = getLastGenericModalObject();
var frmFormaContato = genericModal.find('.frm-create-edit');
var valdata = frmFormaContato.serialize();
$.ajax({
url: url,
type: "POST",
traditional: true,
data: valdata,
headers: { "RequestVerificationToken": $('input[name="__RequestVerificationToken"]').val() },
success: function (data) {
frmFormaContato.replaceWith(data);
stopLoadGlobal();
},
error: function (e) {
stopLoadGlobal();
redirectToError(e.status);
return false;
}
});
谢谢你:)
【问题讨论】:
-
什么是getLastGenericModalObject和数据?
-
这是一个函数,它接受模态Bootstrap窗口的实例。
-
更改 DOM 不会更改原始 HTML 源代码。您可以在 Elements 面板中看到更改,但在 View Source 中看不到。
-
哇,这对我来说真的很糟糕,因为我需要保持字段 ID 是最新的。如果DOM的方式不同,而HTML的方式不同,除了混淆之外,还会带来问题。有没有办法让替换 100% 忠实?
-
嗨@Jalber,你为什么要替换这个dom?你能分享更多的html代码并解释你的场景吗?
标签: javascript jquery ajax asp.net-core replace