Ajax 将格式化文本传递给另一个 php 文件并显示为在文本区域中

Posted

技术标签:

【中文标题】Ajax 将格式化文本传递给另一个 php 文件并显示为在文本区域中【英文标题】:Ajax passing formatted text to other php file and diplay as in text area 【发布时间】:2013-11-01 06:57:17 【问题描述】:
  <script type="text/javascript">
          $('#buttonclick').click(function()
            fulltext=$('#fulltext').val();
            $('#display').load('action.php?fulltext='+fulltext);
            );
          );
  </script>
<input type='button' id='buttonclick' value='Load'>

<textarea rows="30" cols="70" id='fulltext' name='fulltext' style="resize: none;">

</textarea>

<div id='display'></div>

action.php文件如下

<?php
$abcd= $_GET['fulltext'];
echo '<pre>'.$abcd.'</pre>';
?>

我想要的只是在 div(id='display') 中以与写入 (id=fulltext) 相同的格式显示文本区域的内容。例如:

      he is who.
      who is he.

在我的情况下,文本区域的上述内容被附加在一起并显示为

he is who. who is he

那就是格式改变了。有什么解决办法吗?

【问题讨论】:

【参考方案1】:

你真的应该去掉多余的 );正如罗汉库马尔建议的那样。 但问题是你没有正确编码你的参数。

使用

$('#display').load('action.php?fulltext='+encodeURIComponent(fulltext));

它应该可以工作

【讨论】:

正是..就是这样..:)【参考方案2】:

尝试在php页面中使用htmlentities(),比如,

<?php
    $abcd= $_GET['fulltext'];
    echo htmlentities($abcd);
?>

更新你正在应用额外的 ); 在你的 js 代码删除最后一个 );

或在您的代码中添加 $(function()

$(function()// add this line in your code
    $('#buttonclick').click(function()
        fulltext=$('#fulltext').val();
        $('#display').load('action.php?fulltext='+fulltext);
    );
);// this was extra

【讨论】:

以上是关于Ajax 将格式化文本传递给另一个 php 文件并显示为在文本区域中的主要内容,如果未能解决你的问题,请参考以下文章

我正在将 ajax 请求传递给另一个远程服务器以获取访问记录

如何使用 include 函数通过 URL 将变量/值传递给另一个 PHP 文件(通过 HTTP)? (PHP)

从一个文本字段中获取文本,对其进行更改并传递给另一个文本字段

将列表视图选定的文本传递给另一个活动

如何在上传之前获取文件名并在没有 fakepath 的情况下传递到另一个文本输入字段

以编程方式将文本字段值传递给另一个视图中的标签