2011-06-25 55 views
2

我正在生成一個HTML表單,其中包含文本區域中的一些代碼。如何擺脫textarea中的額外空間?

生成的HTML看起來像這樣:

<textarea id="message" name="message" 
    rows="18" cols="40">The quick brown fox 
    <?php echo $page_url;?> 
</textarea> 

當頁面在瀏覽器中呈現,它看起來像這樣:

The quick brown fox 
     http://www.example.com 

我無法解釋它,因爲變量不包含領先空間 - 也沒有應用CSS樣式。

任何人都可以想到可能會造成這種情況嗎?

+0

當你這樣寫時,它會給出相同的結果: Tarek

回答

6

<textarea>空格被渲染爲-是,不像HTML,這使得連續的空格作爲一個。

<textarea id="message" name="message" 
    rows="18" cols="40">The quick brown fox<?php echo $page_url;?></textarea> 
+0

它的工作!唷,我可以在這裏簡單地問一下我可以節省幾個小時的頭髮......我可以說我敬畏你的迷人! :p – oompahloompah

1

<?php echo ..左側有一些空格(或製表符)。他們將被顯示。多個空白空間不會在Textarea中被刪除。

<textarea id="message" name="message" 
    rows="18" cols="40">The quick brown fox 
<?php echo $page_url ?> 
</textarea> 
1

只要你縮進你的代碼......其實

試一下:

<textarea id="message" name="message" 
    rows="18" cols="40">The quick brown fox 
<?php echo $page_url;?> 
</textarea> 
1

空間保存在textarea中。

var te = document.createElement('textArea'); 
te.innerHTML = 'asddf asdf\n     http'; 
document.body.appendChild(te); 

^一些測試代碼,我只是螢火跑到證明

要解決你想要這樣的

<textarea>some test<?=$var?></textarea> 
2

文字區域東西尊重空格和換行。它不同於html文檔本身的行爲。

0

不需要在文本區域內使用新行,而渲染時會將新行視爲一些空白區域。

0

該文本區域顯示神祕的空間,因爲它考慮所有空格,換行符(使用輸入按鈕)存在beteen <textarea>標籤。 <textarea>
<php? echo $var; ?>
</textarea>
刪除這些額外的空格或換行符後,應如下所示。 <textarea><php? echo $var; ?></textarea>