2013-08-01 23 views
1

我使用document.documentElement.outerHTML並獲得了一切,除了它不包含所有輸入元素(文本框,複選框,選擇,單選按鈕等)的當前狀態如何獲取包括所有標籤和元素值使用javascript的html頁面

我可以使用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> 
+0

如果您首先執行input.setAttribute(「value」,input.value)等每個輸入,則該值應顯示在outerHTML中。 – dandavis

+0

在給定時間,document.documentElement.outerHTML屬性返回文檔的完整視覺表示或狀態。如果您在outerHTML字符串中沒有值,則表示該值不存在於文本框中,或者實際上未選中複選框。 – Prash

+0

例如:我有我運行該頁面並用「hello」填充文本框。當我點擊提交按鈕,我閱讀使用document.documentElement.outerHTML的頁面。該字符串包含但值 –

回答

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數據的一部分,也將是對任何網頁你在你的窗體的行動張貼到訪問服務器端。

相關問題