2012-07-17 90 views
2

我们怎样才能获得本内容CONTENTEDITABLE以HTML格式PHP如何获得价值CONTENTEDITABLE在PHP

例如,我有这样的代码,并希望得到它的价值在一个变量在PHP中:

<div contentEditable="true"> type here 
<img src="http://t2.gstatic.com/images?q=tbn:ANd9GcQCze-mfukcuvzKk7Ilj2zQ0CS6PbOkq7ZhRInnNd1Yz3TQzU4e&t=1" /></div> 

因为我想用它作为电子邮件的html正文。

Infact我想获得contentEditable的值并将其保存到一个变量中,然后将该变量用作我的电子邮件的正文。任何想法如何执行这项任务。

+0

为什么你不使用表单域而不是一个div? – Pete 2012-07-17 16:20:00

+0

没有javascript? – 2012-07-17 16:21:57

回答

7

您需要将元素的内容存储在表单元素中,以便将其提交到您的PHP页面。

我想你想contenteditable而不是textarea丰富的文字...考虑看看所见即所得的编辑器,如TinyMCE而不是。

如果您仍想坚持使用您当前的方法,您需要一些JS在提交页面之前将div的值复制到隐藏的表单元素中。

HTML

<div id="emailcontent" contenteditable>asdf</div> 
<form> 
    <input type="text" id="a" name="a"/> 
    <input type="submit" name="submit" id="submit" /> 
</form> 

jQuery

$("#submit").click(function() { 
    $("#a").val($("#emailcontent").html()); 
}); 

DEMO

3

你可以尝试这样的事情:

var form = document.createElement("form"); 
form.setAttribute('action','some.php'); 
form.setAttribute('method','POST'); 
form.setAttribute('target','_self'); 
form.setAttribute('enctype','application/x-www-form-urlencoded'); 
form.innerHTML = '<input type="hidden" name="emailData" value="'+ 
        document.getElementById('yourdivid').innerHTML+'" />'; 
form.submit(); 

然后在你的PHP retri前夜POST ED数据:

$data = $_POST['emailData'];