【问题标题】:PHP print newline into textareaPHP将换行符打印到textarea
【发布时间】:2011-04-17 03:40:16
【问题描述】:

我正在尝试在 textarea 中打印换行符。

我有这个字符串:

$coords = $row->lat.','.$row->lon."\r\n"

当我使用以下 javascript 命令时:

alert(coords); 

我明白了:

-35.308401,149.124298
-35.307841,149.124298

但是,当我在 textarea 中查看它时,我得到:

-35.308401,149.124298 -35.307841,149.124298

如何让换行符显示在 textarea 中?

更多信息:

警报窗口显示:

文本区域:

代码:

<textarea name="addrs" rows=5 cols=80>-35.308401,149.124298 -35.307841,149.124298</textarea>

更多信息: 这就是创建表单并将文本写入 textarea 的方式

function openMapWindow (data) {
    alert(data);

    var mapForm = document.createElement("form");
    mapForm.target = "Map";
    mapForm.method = "POST"; // or "post" if appropriate
    mapForm.action = "http://www.xxx.com/map.php";

    var mapInput = document.createElement("input");
    mapInput.type = "text";
    mapInput.name = "addrs";
    mapInput.value = data;
    mapForm.appendChild(mapInput);

    document.body.appendChild(mapForm);

    map = window.open("", "Map", "status=0,title=0,height=600,width=800,scrollbars=1");

    if (map) {
        mapForm.submit();
    } else {
        alert('You must allow popups for this map to work.');
    }

}

function mapSuppliers(customer_id) {
    $.get("get.map.points.php", { c_id: customer_id },
     function(data){
         if (data!='') {
            openMapWindow(data);
         } else {
             alert("Missing map coordinates - cannot display map (data: " + data + ")");
         }
     });

}

【问题讨论】:

  • 当你用浏览器查看页面源代码时,有没有如你所愿的回行?
  • 你说的是 PHP,但你是通过 JS 测试的。您实际上是如何将数据传递到文本区域的?是否通过 PHP 内联?
  • 您的编辑如何回答我的问题?如果有什么问题的话,openMapWindow() 是如何相关的。
  • @Khez:已编辑代码的第 12 行:mapInput.value = data;

标签: php javascript html textarea newline


【解决方案1】:

您正在尝试在输入字段中包含多行。

考虑将您的代码更新为:

var mapTextarea = document.createElement("textarea");
mapTextarea.name = "addrs";
mapTextarea.value = data;
mapForm.appendChild(mapTextarea);

【讨论】:

  • @Wh1T3h4Ck5 现在唯一让我感到困惑的事情。屏幕截图似乎是文本区域,但可能是 css。
  • 我仍然无法连接 PHP 行和 JS 代码。也许我错过了什么,或者我太累了,我的大脑现在不能很好地工作。
  • 是的 - 我试图自己回答,但系统不允许我...我找不到 createElement() type = textarea - MS 参考只说文本,所以我使用了它。 . 我将表单提交到一个页面,该页面捕获数据、映射并在文本区域中重新显示。
  • @Wh1T3h4Ck5 - 查看已编辑的新代码 - 它使用对另一个页面的 get 调用,该页面以简单的文本格式返回数据,一旦循环完成,所有写回调用 ajax 的内容都是 $coords = $row-&gt;lat.','.$row-&gt;lon."\r\n"我只是在get.map.points.php中print $coords;
  • 哎呀!!!只需重新阅读它 - 执行不正确!!!你是男人Khez。问题已解决!
【解决方案2】:

我知道这个问题已经很老了,但我会发布我的答案以防万一有人来这里。

例如,如果我们想在 textarea 中显示此文本:

hi Masume
have a nice day!

使用 PHP:

echo "hi Masume".chr(13)."have a nice day!";

用JS:

textareaElement = 'hi Masume' + String.fromCharCode(13) + 'have a nice day!';

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-12
    • 2017-06-02
    • 1970-01-01
    • 2016-01-29
    • 1970-01-01
    相关资源
    最近更新 更多