我有一个简单的文本区域,像这样的形式:
<textarea style="width:350px; height:80px;" cols="42" rows="5" name="sitelink">
<?php if($siteLink_val) echo $siteLink_val; ?>
</textarea>
我一直在这个文本区域得到额外的空白。当我tab到它,我的光标就像在文本区域的中间,而不是在开始?怎么解释呢?
我有一个简单的文本区域,像这样的形式:
<textarea style="width:350px; height:80px;" cols="42" rows="5" name="sitelink">
<?php if($siteLink_val) echo $siteLink_val; ?>
</textarea>
我一直在这个文本区域得到额外的空白。当我tab到它,我的光标就像在文本区域的中间,而不是在开始?怎么解释呢?
当前回答
如果您仍然喜欢使用缩进,请在打开<?PHP标签,如下所示:
<textarea style="width:350px; height:80px;" cols="42" rows="5" name="sitelink"><?php // <--- newline
if($siteLink_val) echo $siteLink_val; // <--- indented, newline
?></textarea>
其他回答
好吧,<textarea>和</textarea>之间的所有内容都被用作textarea框的默认值。在你的例子中有一些空白。试着消除所有这些。
首先确保你的$siteLink_val没有返回空白作为值。<textarea>元素默认有一个空值,所以如果你的变量由于某种原因有空格,有你的问题马上。
为了使代码绝对干净,我建议您可以这样做,允许以后有更大的灵活性。我已经做了一个函数,返回一个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”并以“?>”结束。
避免在<textarea>之间换行,因为它可能会产生错误字符。
此外,检查CSS以确保没有将文本向内推的填充规则。
此外,您还可以在textarea上指定cols和rows值,然后设置宽度和高度。这些规则会适得其反,导致视觉效果不一致。坚持通过样式定义大小(我建议给元素一个类)或行/cols。
文本区域开始和结束标签之间的任何空格都将被视为空白。所以对于上面的代码,正确的方法是:
<textarea style="width:350px; height:80px;" cols="42" rows="5" name="sitelink"><?php if($siteLink_val) echo $siteLink_val; ?></textarea>
仔细查看您的代码。其中,已经有三个换行符,在</textarea>之前有大量的空白。首先删除这些标签,这样标签之间就不再有换行符了。这可能已经奏效了。
由于标签中存在真实的空间,文本区域显示出神秘的空间。<文本区域 > < php吗?echo $ var;?> </ textarea > 删除标签之间的这些额外的空格后,问题将得到解决,如下所示。< textarea > < php吗?echo $ var;? > < / >文本区域