Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to get value contentEditable in PHP

How we can get the content present in contentEditable in html format in PHP

For example i have this code and want to get its value in a variable in PHP:

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

​ because i want to use this as html body for an email.

Infact i want to get the value of contentEditable and save it into a variable and then use that variable as a body for my email. Any idea how to perform this task.

like image 564
Sheikh Rahat Ali Avatar asked Nov 25 '25 21:11

Sheikh Rahat Ali


2 Answers

You'll need to store the contents of the element in a form element so it can be submitted to your PHP page.

I assume you want contenteditable instead of textarea for rich text... consider taking a look at WYSIWYG editors like TinyMCE instead.

If you still want to stick with your current method, you'll need some JS to copy the value of the div into a hidden form element before the page gets submitted.

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

like image 182
sachleen Avatar answered Nov 27 '25 12:11

sachleen


You can try something like this:

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();

Then in your php retrieve POSTed data:

$data = $_POST['emailData'];
like image 31
Engineer Avatar answered Nov 27 '25 13:11

Engineer