2016-12-14 142 views
0

這裏一個新的生產線是我的代碼:如何開始<textarea>

<textarea name='awesome'><?php 
            if(session::exists('home')) { 
             echo Session::flash('home') . '  '; 
            } 
            if($user->hasPermission('admin')) { 
             echo 'You are an administrator!'; 
            } 
            if(isset($_SESSION['bodycontentmessage'])){ 
             echo $_SESSION['bodycontentmessage']; 
            } 
            $_SESSION['bodycontentmessage'] = ""; 
            ?></textarea> 

如何讓這個每個if語句變量產生這個文本區域內的新行? 例如,如果我像現在這樣運行它,它會在textarea內輸出:

您是管理員!已成功登錄!

不過我想說的是:

你是管理員!

已成功登錄!

任何想法如何?

回答

2

$('textarea').html('Hello'+"\r\n"+'There');
textarea{width:100%;height:100px;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
 
<textarea></textarea>

在你的PHP,做同樣的事情:

echo 'You are ' ."\r\n". 'an administrator!';

請注意,如果您以後將數據上傳到後端數據庫,您可能需要以編程方式搜索/用<br>替換\r\n在插入數據庫之前,以便將來的渲染將正確呈現。

另請注意,在\r\n附近使用雙引號。有時候這很重要。

+0

我將如何落實到我的代碼呢? p.sive在 – Andy

+0

之前從未使用javascript。請參閱我的回答中的mod - 我在PHP – gibberish

+0

中顯示了它,我在何處插入:$('textarea')。html('Hello'+「\ r \ n」+'There'); textarea的{寬度:100%;高度:100像素;} Andy

0

在html中,使用 \ n 或\ r \ n。

例如,

<textarea>Hello,\r\nWorld!</textarea> 

在PHP或JSP一些框架,

可以替換\ r \ n與自己的標記

與\ r \ n再次更換使用腳本。

我通常使用@ BR @在JSP中,

在HTML與\ r \更換ñ一次。

所以它流像下面

textarea:Hello,\r\nWorld! -> request to server 
-> jsp:"Hello,\r\nWorld!".replaceAll("\\r", "").replaceAll("\\n", "@[email protected]"); 
-> do something 

jsp:"Hello,@[email protected]!" -> response to client 
-> js:"Hello,@[email protected]!".replace(/@[email protected]/g, "\r\n"); 
-> textarea:Hello,\r\nWorld! 

試試吧。

如果它不起作用,

讓我知道。


編輯

我不知道你的整個HTML代碼,但它可能看起來像下面

<html> 
    <head> 
    </head> 
    <body> 
     <textarea name="awesome">Hello,\r\nWorld!</textarea> 
     <script> 
      var textarea = document.getElementsByName("awesome")[0]; 
      textarea.value = textarea.value.replace(/\\r\\n/g, "\r\n"); 
     </script> 
    </body> 
</html> 

隨着該腳本的一部分,只要你想在textarea的文字將被chaned 。

沒有它,它只是你好,\ r \ nWorld !.

+0

然後它只是說「你好,\ r \ nWorld!」在textarea? – Andy

+0

這只是一個例子。您應該使用腳本來替換它。 –

+0

我在哪裏可以複製到? ive從未在 – Andy

0

確保您的textarea具有正確的CSS。

textarea { 
    white-space:pre; 
} 

然後將你的php分成多行,換行符後面有一個換行符。

<textarea name='awesome'><?php 
    if(session::exists('home')) { 
     echo Session::flash('home')."\n"; 
    } 
    if($user->hasPermission('admin')) { 
     echo "You are an administrator!\n"; 
    } 
    if(isset($_SESSION['bodycontentmessage'])){ 
     echo $_SESSION['bodycontentmessage']."\n"; 
    } 
    $_SESSION['bodycontentmessage'] = ""; 
?></textarea> 
+0

之前使用javascript,但只顯示:您是管理員!\ n \ n – Andy

+0

看起來可能是PHP怪癖,請嘗試將單引號更改爲雙引號:http://php.net/manual/ EN/language.types.string.php#language.types.string.syntax.double –

0

像這樣:

<textarea name='awesome'> 
<?php 
    if(session::exists('home')) { 
     echo Session::flash('home') . '  '; 
    } 
    if($user->hasPermission('admin')) { 
     echo 'You are an administrator!' ."\r\n"; 
    } 
    if(isset($_SESSION['bodycontentmessage'])){ 
     echo $_SESSION['bodycontentmessage'] ."\r\n"; 
    } 
    $_SESSION['bodycontentmessage'] = "" ."\r\n"; 
?> 
</textarea>