我正在生成一个HTML表单,其中包含文本区域中的一些代码。
生成的HTML如下所示:
<textarea id="message" name="message"
rows="18" cols="40">The quick brown fox
<?php echo $page_url;?>
</textarea>
在浏览器中呈现页面时,它看起来像这样:
The quick brown fox
http://www.example.com
我无法解释它,因为变量不包含前导空格 - 并且也没有应用CSS样式。
任何人都可以想到可能导致这种情况的原因吗?
答案 0 :(得分:6)
<textarea>
内的空格按原样呈现,与HTML不同,后者将连续的空格呈现为一个空格。
<textarea id="message" name="message"
rows="18" cols="40">The quick brown fox<?php echo $page_url;?></textarea>
答案 1 :(得分:2)
Textareas尊重空间和换行符。它与html文档本身的行为不同。
答案 2 :(得分:1)
<?php echo ..
左侧有一些空格(或标签)。它们将被显示。多个空格不会在Textarea中删除。
<textarea id="message" name="message"
rows="18" cols="40">The quick brown fox
<?php echo $page_url ?>
</textarea>
答案 3 :(得分:1)
只是你缩进代码......
试试:
<textarea id="message" name="message"
rows="18" cols="40">The quick brown fox
<?php echo $page_url;?>
</textarea>
答案 4 :(得分:1)
空格保存在文本区域中。
var te = document.createElement('textArea');
te.innerHTML = 'asddf asdf\n http';
document.body.appendChild(te);
^我刚刚在firebug中运行了一些测试代码来演示
要修复你想要的东西
<textarea>some test<?=$var?></textarea>
答案 5 :(得分:0)
不需要在文本区域内使用新行,而渲染时将新行视为一些空格。
答案 6 :(得分:0)
文本区域显示神秘的空间,因为它考虑了<textarea>
标签之外的所有空格,换行符(使用输入按钮)。删除这些额外的空格或换行符后,<textarea>
应如下所示。
<php? echo $var; ?>
</textarea><textarea><php? echo $var; ?></textarea>
。