2017-03-18 88 views
0

在WordPress的,我有自定義窗體和下面是textarea爲什麼在我的HTML textarea中有空白時,當我有佔位符時?

<textarea type="text" name="text" rows="4" placeholder="message here"><?php echo esc_textarea($_POST['text']); ?></textarea> 

然而,textarea顯示空格在瀏覽器中。 通過在textarea中選擇並刪除空格來清除textarea,它將顯示placeholder文本。

圖片附:http://imgur.com/a/u6lWJ

+0

有趣的它在Firefox只發生。試過Opera&IE,這個問題不存在。 – theKing

回答

0

使用此:

<textarea type="text" name="text" rows="4" placeholder="message here"><?php echo trim(esc_textarea($_POST['text'])); ?></textarea> 
+0

它的工作,謝謝。 – theKing

0

你有什麼在$_POST['text']?你應該確定,這真的是空的。

也許是更好地使用:

<textarea type="text" name="text" rows="4" placeholder="message here"> 
    <?php if (isset($_POST['text']) && !empty($_POST['text'])) { 
    echo $_POST['text']; 
    }; ?> 
</textarea> 
+0

試過了,仍然有同樣的問題。 – theKing

0

爲什麼會出現在我的HTML textarea的一個空白,當我有它的佔位符?

由於esc_textarea($_POST['text'])返回值是不是空字符串。

在通過裏面選擇和刪除空格清除textarea的,它顯示了佔位符文本。

空間,新的線和其他空白都是數據。他們算作價值。

如果你有一個值,該值顯示。僅當沒有值時才顯示佔位符。

正如你已經發現,刪除的值將導致顯示的佔位符。

+0

我測試過去除'<?php echo esc_textarea($ _ POST ['text']); '''仍然存在這個問題。 – theKing

+0

這僅限於FF。 Opera,Edge&IE都很好。 – theKing

+0

@theKing - 我無法重現您所描述的問題:http://jsbin.com/yiwegoy/2/edit?html,output – Quentin