Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取包含输入值的页面的整个HTML_Javascript_Jquery_Html - Fatal编程技术网

Javascript 获取包含输入值的页面的整个HTML

Javascript 获取包含输入值的页面的整个HTML,javascript,jquery,html,Javascript,Jquery,Html,我试图将整个页面保存为HTML文件,将所有已写入的值都包含到输入中。我试过这个: $("#content").html(); 但它不会保存输入值 $("#content").get(0).outerHTML; $("#content").prop('outerHTML'); 工作原理相同,但仍不保存输入值。我需要保存页面上所有内容的功能。您可以尝试: $("html").html(); 如果您还想捕获hmtl标记,可以将它们连接到html,如下所示: function getPageHTM

我试图将整个页面保存为HTML文件,将所有已写入的值都包含到输入中。我试过这个:

$("#content").html();
但它不会保存输入值

$("#content").get(0).outerHTML;
$("#content").prop('outerHTML');
工作原理相同,但仍不保存输入值。我需要保存页面上所有内容的功能。

您可以尝试:

$("html").html();
如果您还想捕获hmtl标记,可以将它们连接到html,如下所示:

function getPageHTML() {
  return "<html>" + $("html").html() + "</html>";
}
你可以试试:

$("html").html();
如果您还想捕获hmtl标记,可以将它们连接到html,如下所示:

function getPageHTML() {
  return "<html>" + $("html").html() + "</html>";
}

当用户更改输入时,它的
。值正在更改
.value
不在DOM中,它在JS中。因此,您需要做的是将
.value
传输到
value=
,以便能够在字符串中获取它。以下是如何实现这一目标:

$('input').each(function(index, input){input.setAttribute('value', input.value)});
现在尝试获取HTML;)


PS:您也可以在此处修改选择器,以不获取所有输入(如
type=“password”
)。

当用户更改输入时,它的值将被更改
.value
不在DOM中,它在JS中。因此,您需要做的是将
.value
传输到
value=
,以便能够在字符串中获取它。以下是如何实现这一目标:

$('input').each(function(index, input){input.setAttribute('value', input.value)});
现在尝试获取HTML;)


PS:您也可以在此处修改选择器,而不是获取所有输入(如
type=“password”
)。

您需要先设置每个输入值:

$('#content input').each(function() {
    $(this).attr('value', $(this).val());//set up all the input values
});

var html = $('#content').html(); //now from here you can get input values

您需要首先设置每个输入值:

$('#content input').each(function() {
    $(this).attr('value', $(this).val());//set up all the input values
});

var html = $('#content').html(); //now from here you can get input values

输入值是属性,不影响HTML。您需要手动获取任何输入的所有值,并在生成的HTML字符串中更新它们。@rory
value
属性是HTML的一部分……没错,但更改值时不会直接更新它。请参见此示例:。无论您在输入中设置了什么,控制台中显示的值始终是
foo
。是的,但是将值设置为属性而不是复杂的字符串操作不是更容易吗?如果OP真的想这样做,那么这将是一个解决方案。不过,这听起来确实像个XY问题。也许
clone()
也会起作用,尽管OPs的实际用例在这里会有所帮助。输入值是属性,不会影响HTML。您需要手动获取任何输入的所有值,并在生成的HTML字符串中更新它们。@rory
value
属性是HTML的一部分……没错,但更改值时不会直接更新它。请参见此示例:。无论您在输入中设置了什么,控制台中显示的值始终是
foo
。是的,但是将值设置为属性而不是复杂的字符串操作不是更容易吗?如果OP真的想这样做,那么这将是一个解决方案。不过,这听起来确实像个XY问题。也许
clone()
也会起作用,尽管OPs的实际用例在这里会有所帮助。