我有一个简单的text area,形式如下:
<textarea style="width:350px; height:80px;" cols="42" rows="5" name="sitelink">
<?php if($siteLink_val) echo $siteLink_val; ?>
</textarea>
我在 textarea 中不断获得额外的空白区域。当我选中它时,我的光标就像在 textarea 的中间而不是在开头?解释是什么?
答案 0 :(得分:414)
仔细查看您的代码。其中,已有三个换行符,</textarea>
之前有一大堆空格。首先删除它们,以便标签之间不再有换行符。它可能已经成功了。
答案 1 :(得分:60)
好吧,<textarea>
和</textarea>
之间的所有内容都用作textarea框的默认值。你的例子中有一些空白。尽量消除所有这些。
答案 2 :(得分:49)
在您的textarea
代码之后和之前打开(并关闭!)您的PHP代码:
<textarea style="width:350px; height:80px;" cols="42" rows="5" name="sitelink"><?php
if($siteLink_val) echo $siteLink_val;
?></textarea>
答案 3 :(得分:24)
基本上它应该是
<textarea>something here with no spaces in the begining</textarea>
如果有一些预定义的空格,可以说是由于下面的代码格式化
<textarea>.......
....some_variable
</textarea>
点上显示的空格会在每次提交时继续添加。
答案 4 :(得分:21)
简而言之:
<textarea>
应立即在它开始的同一行关闭。
一般做法:这将在代码中添加用于缩进的换行符和空格。
<textarea id="sitelink" name="sitelink">
</textarea>
正确练习
<textarea id="sitelink" name="sitelink"></textarea>
答案 5 :(得分:8)
textarea openning和closing标签之间的任何空格都将被视为空格。因此,对于上面的代码,正确的方法是:
var mainArr = [String]()
var sortedArr = [String]()
var arrToReturn : [String] {
if segmentedController.selectedIndex == 0 {
return mainArr
}
else {
return sortedArr
}
}
答案 6 :(得分:7)
另一种解决方法是使用javascript:
//jquery
$('textarea#someid').html($('textarea#someid').html().trim());
//without jquery
document.getElementById('someid').innerHTML = document.getElementById('someid').innerHTML.trim();
这就是我所做的。删除代码中的空格和换行符会使行太长。
答案 7 :(得分:4)
为了使它看起来更清洁,请考虑使用三元运算符:
<textarea><?=( $siteLink_val ? $siteLink_val : '' );?></textarea>
答案 8 :(得分:3)
我知道它很晚但可能会帮助别人。
在需要文档缩进时使用它。
$('document').ready(function()
{
$('textarea').each(function(){
$(this).val($(this).val().trim());
}
);
});
答案 9 :(得分:2)
请确保之后没有换行符或空格,以确保没有空格或标签,只需复制并粘贴此代码:)我已经为您修复了
<textarea style="width:350px; height:80px;" cols="42" rows="5" name="sitelink"><?php if($siteLink_val) echo trim($siteLink_val);?></textarea>
答案 10 :(得分:2)
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array(
'posts_per_page' => 3,
'paged' => $paged,
'meta_key' => '_customer_user',
'meta_value' => get_current_user_id(),
'post_type' => wc_get_order_types(),
'post_status' => array ('wc-pending'),
);
$customer_waiting_orders = new WP_Query( $args );
if ( $customer_available_orders->have_posts() ) :
while ( $customer_available_orders->have_posts() ) : $customer_available_orders->the_post();
//code here
wp_reset_postdata();
endwhile;
endif;
移动...&gt;对我有用。
答案 11 :(得分:2)
文本区域显示神秘空间,因为标签中存在真实空间。 <textarea> <php? echo $var; ?> </textarea>
删除标签之间的这些额外空格后将解决问题,如下所示。 <textarea><php? echo $var; ?></textarea>
答案 12 :(得分:2)
一个对我有用的解决方案是将样式white-space: normal;
添加到textarea中,因为有时消除所有空格是不可行的(例如,当您希望代码遵守您需要的编码指南时)添加制表符,空格和换行符)
请注意textarea的默认值,至少在chrome中是:
white-space: pre-wrap;
答案 13 :(得分:1)
我反对混合了PHP代码的HTML代码。
然而试试这个:
<textarea style="width:350px; height:80px;" cols="42" rows="5" name="sitelink">
<?php
if($siteLink_val)
echo trim($siteLink_val);
?>
</textarea>
答案 14 :(得分:1)
如果您仍想使用缩进,请在打开<?php
标记后执行此操作,如下所示:
<textarea style="width:350px; height:80px;" cols="42" rows="5" name="sitelink"><?php // <--- newline
if($siteLink_val) echo $siteLink_val; // <--- indented, newline
?></textarea>
答案 15 :(得分:1)
保留textarea代码,
内没有额外的空格此外,如果你看到额外的空白行 元语言有解决方案:
<textarea>
for line in lines:
echo line.replace('\n','\r')
endfor
</textarea>
它将打印行而不添加空行 当然,这取决于你的行以'\ n','\ r \ n'或''结尾 - 请适应
答案 16 :(得分:1)
此外:textarea标签在多行代码中显示新行,制表符等的空格。
答案 17 :(得分:0)
首先确保$ siteLink_val没有将空格作为值返回。 &lt; textarea&gt;默认情况下,element有一个空值,所以如果你因为某些原因而回显的变量有空格,那么就是你的问题。
为了使代码绝对最干净,我建议你可以做这样的事情,以后可以提供更多的灵活性。我已经创建了一个函数,如果变量不存在(在原始帖子中似乎是针对的那个),则返回NULL,否则返回绝对值。一旦确定了变量的内容,请尝试以下方法:
function build_siteLink_val() {
if ( $siteLink_val ) {
return $siteLink_val;
}
else {
return "";
}
}
$output_siteLink_val = build_siteLink_val();
现在,您的textarea中的以下代码将为:
<textarea style="width:350px; height:80px;" cols="42" rows="5" name="sitelink"><?=$output_siteLink_val?></textarea>
这假设您的PHP安装配置为短手可变调用,如缩写为“&lt;?=?&gt;”中所示标签。如果您无法以这种方式输出,请记住在PHP代码前面加上“&lt;?php”并用“?&gt;”结束。
避免&lt; textarea&gt;之间的换行符,因为它可能会产生错误字符的可能性。
另外,检查您的CSS以确保没有填充规则向内推送文本。
另外,在textarea上指定cols和rows值,然后设置宽度和高度的样式。这些规则适得其反,会导致视觉效果不一致。坚持通过样式定义大小(我建议给元素一个类)或行/列。
答案 18 :(得分:0)
另外,当你说光标位于textarea的“中间”时,它让我觉得你也可以在CSS的某处定义额外的填充或 text-align:center
答案 19 :(得分:0)
我遇到了同样的问题,解决方案非常简单:不要重新开始!尽管先前的某些答案可以解决问题,但是这个想法并不清楚。 重要的理解是,要摆脱不必要的空格,请不要在开始标记之后立即开始新行。以下内容将在文本内容之前留下很多不必要的空格:
<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>
答案 20 :(得分:0)
只需在同一行中定义您和您的关闭标签即可。
<textarea class="form-control"
id="newText"
rows="6"
placeholder="Your placeholder here..."
required
name="newText"></textarea>
答案 21 :(得分:0)
只需将所有内容放在一行
<textarea style="width:350px; height:80px;" cols="42" rows="5" name="sitelink"><?php if($siteLink_val) echo $siteLink_val; ?></textarea>
答案 22 :(得分:0)
除此之外:
之前:
<textarea style="width:350px; height:80px;" cols="42" rows="5" name="sitelink">
<?php if($siteLink_val) echo $siteLink_val; ?>
</textarea>
之后:
<textarea style="width:350px; height:80px;" cols="42" rows="5" name="sitelink"><?php if($siteLink_val) echo $siteLink_val; ?></textarea>
我也加了PHP的trim()方法:
<textarea style="width:350px; height:80px;" cols="42" rows="5" name="sitelink"><?php if($siteLink_val) echo trim($siteLink_val); ?></textarea>
答案 23 :(得分:-4)
Html元素可能是开放标签和关闭标签
<textarea>
...Your code
</textarea>
如果您想使用<tagName/>