为表单输入序列化div

时间:2012-12-11 00:21:12

标签: php jquery ajax

开发轻量级CMS系统,用户可以在其中更改文本和添加图像。希望使用form.textarea,遗憾的是textarea不允许HTML标签,至少不允许使用图片标签。所以我已经从textarea将表单输入更改为div。我的问题是如何轻松地将div内容作为POST变量传递给PHP脚本,类似于textarea的工作方式。

以下是一些代码段: 在HTML头中,当单击图像图标(imgBtn)时,使用此JQuery将图像代码附加到div内容。

 <script language="javascript" type="text/javascript">
   $("#imgBtn").live("click",function(){
     var path = "path/to/file.jpg";
     var imgcode = '<img src="' + path + '" alt="User Image">';
 $('.textarea').append(imgcode);
});
 </script>

然后在HTML正文中,使用此PHP生成初始DIV或通过filewrite()类将新数据写入文本文件。

 <?php
 if ($submit==true){    //$_POST['submit']
 $string = $text;       //$_POST['text'] this is where I need the POST text
 $flag=HTML;
 $scrubstring = sanitize($string,$flag,2,1200); //cleans input
 $scrubstring = trim($scrubstring);
    if ($scrubstring){
    //scrubber returns true, write text to the file.
$filewrite = new filewrite();
    //path (from root dir),string to write
$filewrite->writer("aboutus/".$file,$scrubstring);
    }
      echo '<div contenteditable="true" class="textarea">';
  echo $scrubstring.'</div>';
}else{
  $fread = new filewrite(); //instantiate the class
  $output=explode(",",$fread->readlastline($file));
  echo '<div contenteditable="true" class="textarea">';
  echo $output[1].'</div>';
    }
   ?>

所以简而言之,我需要div“textarea”表现得像textarea。 一如既往,谢谢你提前

1 个答案:

答案 0 :(得分:0)

<script type="text/javascript">
$(function() {
  $('#form').submit(function(){
    $('#txa').val($('#content').html());
  });
});
</script>

<?php
  echo $_POST['txa'];
?>


<div id="content">
  <h1>abcde</h1>
</div>

<form method="post" action="?" id="form">
  <input type="hidden" name="txa" id="txa" value="123" />
  <input type="submit" />
</form>