2010-05-12 59 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将内容提交给服务器。

相关问题