如何使用javascript获取包含所有标签和元素值的html页面

时间:2013-08-01 03:27:51

标签: javascript html

我使用document.documentElement.outerHTML并获得了所有内容,除了它不包含所有输入元素的当前状态(文本框,复选框,选择,单选按钮等)

我可以使用jquery获取元素值并更新html字符串。但我希望有一种标准的方法可以做到这一点。任何想法?

以下是代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Untitled Page</title>
<script type="text/javascript" src="jquery-1.4.2.min.js"></script>
<script type="text/javascript">
      $(function () {
          $("#me").click(function () {
           alert(  document.documentElement.outerHTML )
          });
      });

</script>

 <style type="text/css">
 </style>

</head>
<body>
 <form>       
<input id="me" type="submit" value="test" />
<input id="Text1" type="text" value="" />
</form>
</body>
</html>

2 个答案:

答案 0 :(得分:0)

你试过这个吗?

alert($('html').html());

除了HTML element之外,它会提醒整个DOCTYPE

答案 1 :(得分:0)

根据您在评论中所说的内容判断,您真的只想要表单提交的键值对。

我首先考虑使用jQuery的.serialize()

如果jQuery的.serialize()不是您想要的,那么您应该能够单独引用每个值,我个人首先会识别您的表单:

<form id="formOfStuff">

然后在纯JavaScript中你可以做类似的事情:

var me = formOfStuff.elements["me"].value;
var text1 = formOfStuff.elements["text1"].value;
alert("me=" + me + " text1 = " + text1);

或者在jQuery中:

var me = $("#me").val();
var text1 = $("#text1").val();
alert("me=" + me + " text1 = " + text1);

您输入的值是POST数据的一部分,并且在您在表单操作中发布的任何页面上也可以访问服务器端。