我需要在服务器上将 HTML 创建为 pdf,并需要来自浏览器的 HTML,其中包含 aform
和其他内容。这样做只会在表单中给出一个没有值$el.html()
的 HTML 字符串。input
我如何获得string
包含所有input
值的 HTML?
我不想在浏览器上附加克隆,我只对包含所有输入值的 HTML 字符串感兴趣以传递给服务器。
谢谢!
我需要在服务器上将 HTML 创建为 pdf,并需要来自浏览器的 HTML,其中包含 aform
和其他内容。这样做只会在表单中给出一个没有值$el.html()
的 HTML 字符串。input
我如何获得string
包含所有input
值的 HTML?
我不想在浏览器上附加克隆,我只对包含所有输入值的 HTML 字符串感兴趣以传递给服务器。
谢谢!
我认为这应该有效。只需在调用之前运行它.html()
:
$("input[type='text']").each(function () {
var $this = $(this);
$this.attr("value", $this.val());
});
注意:如果您需要对其他输入类型执行此操作,则需要以不同方式处理它们。对于textarea
您要设置.text($this.val())
的复选框和单选按钮,您需要设置checked
属性。select
元素,您必须设置selected
适当的option
.
也许这会做到:
$("input").each(function() {
$(this).attr("value", $(this).val());
});
$("textarea").each(function() {
$(this).text($(this).val());
});
$("select option").each(function() {
if ($(this).is(":selected")) {
$(this).attr("selected", "selected");
} else {
$(this).removeAttr("selected");
}
});
$("checkbox").each(function() {
if ($(this).is(":checked")) {
$(this).attr("checked", "checked");
} else {
$(this).removeAttr("checked");
}
});
这会为所有类型的输入设置适当的 DOM 属性以匹配它们的当前状态。我希望我没有错过任何一个。
您可能想要克隆整个 DOM 并对其进行操作。上面的代码会影响如果用户按下表单的重置按钮会发生什么,当前状态将被视为默认状态。