У меня есть простая текстовая область в форме как это:
Я продолжаю получать дополнительный пробел в этой текстовой области. Когда я снабжаю вкладками в него, мой курсор похож посреди текстовой области а не в начале? Каково объяснение?
Внимательно изучите свой код. В нем уже есть три переноса строки и тонна пробелов перед
. Сначала удалите их, чтобы между тегами больше не было разрывов строк. Возможно, это уже сработало.
Я против кода HTML, смешанного с кодом PHP.
Однако попробуйте следующее:
<textarea style="width:350px; height:80px;" cols="42" rows="5" name="sitelink">
<?php
if($siteLink_val)
echo trim($siteLink_val);
?>
</textarea>
Сначала убедитесь, что ваш $ siteLink_val не возвращает пробел в качестве значения. Элемент
Чтобы сделать код максимально чистым, я бы посоветовал вам сделать что-то вроде этого, что позволит немного гибкости позже. Я создал функцию, которая возвращает либо NULL, если переменная отсутствует (то, к чему вы, кажется, стремитесь в исходном сообщении), либо абсолютное значение в противном случае. Убедившись в содержимом переменной, попробуйте следующее:
function build_siteLink_val() {
if ( $siteLink_val ) {
return $siteLink_val;
}
else {
return "";
}
}
$output_siteLink_val = build_siteLink_val();
И следующий код в вашем текстовом поле теперь будет читать:
<textarea style="width:350px; height:80px;" cols="42" rows="5" name="sitelink"><?=$output_siteLink_val?></textarea>
Предполагается, что ваша установка PHP настроена на вызовы сокращенных переменных, как показано в сокращенные теги " =?>". Если вы не можете выводить таким образом, не забудьте поставить перед PHP-кодом « Php» и закрыть «?>».
Избегайте разрывов строки между тегами
Также проверьте свой CSS, чтобы убедиться, что нет правила заполнения, выталкивающего текст внутрь.
Кроме того, вы указываете значение столбцов и строк в текстовой области, а затем задаете ширину и высоту. Эти правила контрпродуктивны и приведут к противоречивым визуальным эффектам. Придерживайтесь определения размера с помощью стиля (я рекомендую дать элементу класс) или строк / столбцов.
Также , когда вы говорите, что курсор находится «посередине» текстового поля, это наводит на мысль, что у вас также могут быть дополнительные отступы или text-align: center , определенные где-то в вашем CSS.
Чтобы он выглядел немного чище, рассмотрите возможность использования тернарного оператора:
<textarea><?=( $siteLink_val ? $siteLink_val : '' );?></textarea>
Хорошо , все между
и
используется как значение по умолчанию для вашего текстового поля. В вашем примере есть пробелы. Постарайтесь все это исключить.
Открывайте (и закрывайте!) Теги PHP сразу после тегов textarea
и перед ними:
<textarea style="width:350px; height:80px;" cols="42" rows="5" name="sitelink"><?php
if($siteLink_val) echo $siteLink_val;
?></textarea>