Почему текстовая область заполнена таинственными пробелами? - PullRequest
241 голосов
/ 04 февраля 2010

У меня есть простое текстовое поле в такой форме:

<textarea style="width:350px; height:80px;" cols="42" rows="5" name="sitelink">
    <?php if($siteLink_val) echo $siteLink_val; ?> 
</textarea>

Я получаю дополнительные пробелы в этой текстовой области . Когда я нажимаю на нее, мой курсор находится как в середине textarea , а не в начале? Какое объяснение?

Ответы [ 22 ]

2 голосов
/ 21 ноября 2016
<textarea style="width:350px; 
 height:80px;" cols="42" rows="5" name="sitelink"
 ><?php if($siteLink_val) echo $siteLink_val; ?></textarea> 

Перемещение ...> у меня работает.

2 голосов
/ 29 июля 2013

В текстовой области отображаются загадочные пробелы, поскольку в тегах существует реальное пространство. <textarea> <php? echo $var; ?> </textarea> после удаления этих лишних пробелов между тегами будет решена проблема, как изложено ниже. <textarea><php? echo $var; ?></textarea>

2 голосов
/ 07 марта 2012

Пожалуйста, убедитесь, что после строки нет пробела или пробела, чтобы убедиться, что нет пробелов или табуляции, просто скопируйте и вставьте этот код :) Я исправил это для вас

<textarea style="width:350px; height:80px;" cols="42" rows="5" name="sitelink"><?php if($siteLink_val) echo trim($siteLink_val);?></textarea>
1 голос
/ 14 июня 2016

Если вы все еще хотите использовать отступ, сделайте это после открытия тега <?php, например:

<textarea style="width:350px; height:80px;" cols="42" rows="5" name="sitelink"><?php // <--- newline
    if($siteLink_val) echo $siteLink_val; // <--- indented, newline
?></textarea>
1 голос
/ 04 февраля 2010

Я против HTML-кода, смешанного с PHP-кодом.

Однако попробуйте это:

<textarea style="width:350px; height:80px;" cols="42" rows="5" name="sitelink">
<?php 
    if($siteLink_val) 
        echo trim($siteLink_val);
?> 
</textarea>
1 голос
/ 29 января 2013

сохранить код textarea без дополнительных пробелов внутри

, кроме того, если вы видите лишние пустые строки, есть решение на мета-языке:

<textarea>
for line in lines:
echo line.replace('\n','\r')
endfor
</textarea>

будет печатать строки без дополнительных пустых строкКонечно, это зависит от того, заканчиваются ли ваши строки на «\ n», «\ r \ n» или «» - пожалуйста, адаптируйте

1 голос
/ 23 января 2013

Более того: тег textarea показывает пробелы для новых строк, вкладок и т. Д. В многострочном коде.

0 голосов
/ 24 мая 2019

Просто укажите ваш и ваш закрывающий тег в одной строке.

<textarea class="form-control"
          id="newText"
          rows="6"
          placeholder="Your placeholder here..."
          required
          name="newText"></textarea>
0 голосов
/ 20 мая 2019

У меня та же проблема, и решение очень простое: не начинайте новую строку! Хотя некоторые из предыдущих ответов могут решить проблему, идея не сформулирована четко. Важное понимание состоит в том, чтобы избавиться от непреднамеренных пробелов, никогда не начинайте новую строку сразу после вашего начального тега. Следующее оставит много нежелательных пробелов перед вашим текстовым содержимым:

 <textarea>
    text content // start with a new line will leave a lot of unwanted spaces
 </textarea>

Правильный способ сделать это:

 <textarea>text content //put text content right after your start tag, no new line
 </textarea>
0 голосов
/ 04 февраля 2010

Кроме того, когда вы говорите, что курсор находится в «середине» текстовой области, это заставляет меня думать, что вы могли бы либо иметь дополнительный отступ, либо text-align: center , определенный где-то в вашем CSS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...