首页 > 解决方案 > 在 div 而不是 input/textarea 中时无法通过 POST 发送内容

问题描述

我想使用 php 的 post 方法发送 div 的内容,但不能使用 textarea 或 input,因为内容所在的文本编辑器不再生效。解决方案将在于可以应用“名称”属性的标签或通过邮寄发送的另一种方法。

已经尝试过 textarea 和 input。

这是我尝试过的:

  <div id="texteditor" name="long_description" maxlength="5000">
      <textarea type="text" name="long_description" style="border: 1px solid black; background: transparent; outline: 0; width: 100%; height: 100%;" value="

      <?php
            if(isset($_SESSION['project_details'])){
              echo $_SESSION['project_details']['long_description'];
            }
          ?>

        ">
      </textarea>
    </div>

我也试过:

<div id="texteditor" name="long_description" maxlength="5000">
      <input type="text" name="long_description" style="border: 1px solid black; background: transparent; outline: 0; width: 100%; height: 100%;" value="

      <?php
            if(isset($_SESSION['project_details'])){
              echo $_SESSION['project_details']['long_description'];
            }
          ?>

          ">
      </input>
  </div>

这是我做的第一件事:

<div contenteditable="true" id="texteditor" name="long_description" maxlength="5000">
    <?php
        if(isset($_SESSION['project_details'])){
            echo $_SESSION['project_details']['long_description'];
        }
    ?>
</div>

目前我可以通过帖子发送文本,但是文本编辑器中的格式不起作用。(例如,我单击“B”将文本变为粗体,但没有任何反应)。或者它根本不发送并返回“必须填写所有字段”的错误。

标签: javascriptphphtmlpostformshttp-post

解决方案


使用 JS/AJAX。使用 JS 将您要查找的文本存储在 JS var 中并使用 AJAX 提交。

这样,文本来自哪种 DOM 组件就无关紧要了。您将能够在 JS 中处理来自任何 HTML 组件的文本。


推荐阅读