У меня есть простая текстовая область в форме, подобной этой:
<textarea style="width:350px; height:80px;" cols="42" rows="5" name="sitelink">
<?php if($siteLink_val) echo $siteLink_val; ?>
</textarea>
Я продолжаю получать дополнительные пробелы в этой текстовой области . Когда я вкладываю в него курсор, мой курсор находится в середине текстовой области, а не в начале? Какое объяснение?
value
атрибут вместо добавления текста внутри тегов.Ну, все между
<textarea>
и</textarea>
используется в качестве значения по умолчанию для вашего текстового поля. В вашем примере есть пробелы. Попробуйте устранить все это.источник
Открывайте (и закрывайте!) Свои теги PHP сразу после и до
textarea
тегов:источник
Короче говоря:
<textarea>
должен быть немедленно закрыт на той же линии, где и начался.Общая практика: это добавит разрывы строк и пробелы, используемые для отступа в коде.
Правильная практика
источник
В основном это должно быть
Если есть несколько предопределенных пробелов, скажем, из-за форматирования кода, как показано ниже
Пробелы, показанные точками, продолжают добавляться при каждой отправке.
источник
Любое пространство между открывающими и закрывающими тегами textarea будет считаться пробелом. Таким образом, для вашего кода выше, правильный путь будет:
источник
Другим обходным решением будет использование JavaScript:
Это то, что я сделал. Удаление пробелов и разрывов строк в коде делает строку слишком длинной.
источник
Чтобы он выглядел немного чище, рассмотрите использование троичного оператора:
источник
Переезд ...> У меня работает вниз.
источник
У меня та же проблема, и решение очень простое: не начинайте новую строку! Хотя некоторые из предыдущих ответов могут решить проблему, идея четко не сформулирована. Важно понимание того , чтобы избавиться от незапланированных пространств, никогда не начать новую строку только после открывающего тега.
Следующий путь НЕПРАВИЛЬНЫЙ и оставит много нежелательных пробелов перед вашим текстовым контентом:
ПРАВИЛЬНЫЙ СПОСОБ сделать это:
источник
Пожалуйста, убедитесь, что после строки нет пробела или пробела, чтобы убедиться, что нет пробелов или табуляции, просто скопируйте и вставьте этот код :) Я исправил это для вас
источник
Более того: тег textarea показывает места для новых строк, вкладок и т. Д. В многострочном коде.
источник
держать код textarea без дополнительных пробелов внутри
более того, если вы видите лишние пустые строки, есть решение на мета-языке:
он будет печатать строки без дополнительных пустых строк, конечно, это зависит от того, будут ли строки заканчиваться на '\ n', '\ r \ n' или '' - пожалуйста, адаптируйте
источник
В текстовой области отображаются загадочные пробелы, поскольку в тегах существует реальное пространство.
<textarea> <php? echo $var; ?> </textarea>
после удаления этих лишних пробелов между тегами будет решена проблема, как изложено ниже.<textarea><php? echo $var; ?></textarea>
источник
Одно из решений, которое сработало для меня, - это добавление стиля
white-space: normal;
к текстовой области, потому что иногда невозможно устранить все пробелы (например, когда вы хотите, чтобы ваш код соответствовал вашим правилам кодирования, требующим добавления вкладок, пробелов и разрывов строк)Обратите внимание, что по умолчанию для textarea, по крайней мере, в Chrome:
white-space: pre-wrap;
источник
Если вам все еще нравится использовать отступ, сделайте это после открытия
<?php
тега, например так:источник
Я знаю, что уже поздно, но может помочь другим.
используйте это, когда требуется отступ документа.
тот же вопрос
источник
Я против HTML-кода, смешанного с PHP-кодом.
Однако попробуйте это:
источник
<textarea style="width:350px; height:80px;" cols="42" rows="5" name="sitelink"><?php
и?></textarea>
для того, чтобы он был действительно чистым. Кроме того, могу ли я спросить, почему вы против HTML с PHP?Просто укажите ваш и ваш закрывающий тег в одной строке.
источник
Кроме того, когда вы говорите, что курсор находится в «середине» текстовой области, это заставляет меня думать, что вы также можете иметь дополнительные отступы или text-align: center, определенные где-то в вашем CSS.
источник
Сначала убедитесь, что ваш $ siteLink_val не возвращает пробел в качестве значения. Элемент <textarea> по умолчанию имеет пустое значение, поэтому, если переменная, которую вы выводите по какой-либо причине, имеет пробелы, у вас возникла проблема.
Чтобы сделать код максимально чистым, я хотел бы предложить вам сделать что-то вроде этого, что обеспечит некоторую гибкость позже. Я сделал функцию, которая возвращает либо NULL, если переменная отсутствует (то, к чему вы стремитесь в исходном посте), и абсолютное значение в противном случае. Как только вы убедились в содержимом вашей переменной, попробуйте это:
И следующий код в вашей текстовой области теперь будет читать:
Это при условии, что ваша установка PHP настроена для сокращенных вызовов переменных, как видно из сокращенных тегов <? =?>. Если вы не можете вывести этот путь, не забудьте предвосхитить ваш PHP-код "<? Php" и закрыть "?>".
Избегайте разрывов строк между тегами <textarea>, потому что это может создать вероятность ошибочных символов.
Кроме того, проверьте свой CSS, чтобы убедиться, что нет правила заполнения, толкающего текст внутрь.
Кроме того, вы указываете значение столбцов и строк в текстовой области, а затем задаете ширину и высоту. Эти правила контрпродуктивны и приводят к противоречивым визуальным эффектам. Придерживайтесь определения размера через стиль (я рекомендую дать элементу класс) или строк / столбцов.
источник