【问题标题】:How to preserve line breaks in Scriptaculous InPlaceEditor?如何在 Scriptaculous InPlaceEditor 中保留换行符?
【发布时间】:2011-04-19 14:08:00
【问题描述】:

我有一个包含各种文本区域的页面,可以使用 Scriptaculous 进行编辑(有更好的选择吗?):

<h4>
    <span id="someID">
        <?php echo $_SESSION['someID']; ?>
    </span>
</h4>

PHP 文件如下所示:

<?php
if(!isset($_SESSION['someID']))
$_SESSION['someID'] = "Some text which spans more than <br />one line of a textarea";
?>

当我单击元素并变成文本区域时,会出现换行符。但是,当 textarea 失去焦点并恢复为原来的任何元素时,换行符就会丢失。

有没有办法保留换行符?我应该以某种方式使用\n 而不是&lt;br /&gt;?

【问题讨论】:

    标签: php javascript jquery scriptaculous inplace-editing


    【解决方案1】:

    完全正确 - 在&lt;textarea&gt; 中,换行标记&lt;br/&gt; 被视为文本。

    如果您将其更改为\r\n,它将起作用。

    为什么要添加 \r ?例如在 Windows/IE/etc 中简单的\n 是不够的。 ;)

    【讨论】:

    • 不幸的是,事情没那么简单。 PHP 文件中的内容最初显示为文本(因此需要&lt;br /&gt; - 只有当元素被单击时才会变成文本区域。
    • 为什么?在点击事件期间,您将这个&lt;p&gt; 更改为&lt;textarea&gt;。在这里也做一些文本替换,它会起作用。
    • 我不太明白,抱歉。 click 事件已经绑定到 Scriptaculous。你是说我应该这样做:$('#someID').live('click', function() {var content = $(this).html(); content = content.replace("&lt;br /&gt;", "\r\n") });
    猜你喜欢
    • 1970-01-01
    • 2010-11-03
    • 1970-01-01
    • 1970-01-01
    • 2013-07-27
    • 2013-11-10
    • 2015-08-16
    • 2012-11-24
    相关资源
    最近更新 更多