2010-05-12 85 views
1

我正在研究需要從預定義的div標記中提取文本的項目。如何在文本之間讀取兩個html標記之間的數據

我的要求是在電子郵件正文中發送目標div中的內容。我必須使用javascriptphp來執行此任務。

處理: 當一個給定的鏈接將被點擊;一個javascript功能將觸發並讀取該目標div。然後將的內容以動態形式提交給服務器。

我有什麼選擇來完成這項任務?

謝謝。

回答

1

所以假設你擁有的東西,看起來像

<a href="#" onClick="someClickHandler(); return false;">Click Here</a> 
<div id="foo">Hello World!</div> 

我建議使用jQuery

<script type="text/javascript"> 
    function someClickHandler() { 
     var text = $("#foo").text(); 
     $.get("url_on_the_server", {some_query_parameter_name: text}, function(response){ 
      // do something with the response you get back from the server 
     }); 
    } 
</script> 

下面是這是這樣做的:

  • onClick屬性導致someClickHandler函數被稱爲whe點擊鏈接。因爲我們在該屬性中放置了return false,所以瀏覽器不會嘗試關注鏈接;相反,當點擊時,它只會執行點擊處理程序並停止。

  • 說出$("#foo")發現頁面上的元素帶有「foo」的id,如記錄的here。說$("#foo").text()作爲文本返回該div內的所有內容,如記錄here

  • $.get調用在jQuery文檔here中有深入的解釋。基本上你正在向服務器發送一個AJAX請求,並將div中的文本作爲查詢參數傳遞。您傳遞給$.get的函數定義了您對從服務器返回的響應所做的操作。

當然,你也可以使用jQuery click method,而不是手動設置onClick屬性自己,但我想,這種方式將是一個初學者起來更直觀。

1

我會得到div的innerHTML。所以,如果你的div是div_obj:

var div_obj = document.getElementById("..."); 
alert(div_obj.innerHTML); 
0
document.getElementById(ID_OF_DIV).innerHTML; 

應該這樣做,如果我沒有記錯。 W3Schools是一個很棒的網站,提供有關網絡編程的信息。

+3

從何時起[HTML DOM](http://www.w3schools.com/htmldom)遍歷[Ajax](http://www.w3schools.com/ajax)?你的回答有點暗示這一點。它是兩個獨立的主題,Ajax和您發佈的代碼片段。 – BalusC 2010-05-12 19:57:41

+0

你說得很對。對不起,這個錯誤。在我的回覆中,我認爲需要將更改發佈回站點。 – zellio 2010-05-12 20:04:06

2

jQuery的text()link)會讓你得到div內的文字。

var thetext = jQuery('div#foo').text(); 

然後,您可以使用它post()link)將數據發送到PHP腳本發送電子郵件。

0

的確,我會給div一個id,然後使用innerHTML方法來獲取它的內容。

之後,您可以使用XMLHttpRequest將內容提交給服務器。

相關問題