2010-08-22 114 views
0

嗨我有一个文本区域的形式的意见。问题是我的代码下面应该产生一个3行高的文本框,但是当它在Chrome中显示时,它只能显示为一行,任何人都可以建议我做错了吗?在铬中Textarea只显示一行

<tr>  
    <td >&nbsp;</td> 
    <td ><strong>Approver Comments</strong></td> 
    <td colspan="3" > 
    <textarea name="approvecom" cols="100" rows="5" autocomplete="OFF"></textarea> 
    </td> 
    <td >&nbsp;</td> 
</tr> 
+0

代码你给显示5行不是3,我可以看到正确的铬。你可以给我们更多的代码或更好的jsbin.com上的实例吗? – Sotiris 2010-08-22 14:38:33

回答

2

尝试使用高度和宽度CSS定义来定义textarea的边界。

<textarea style="height:100px; width:300px;"></textarea> 
+0

cols和rows属性有textarea这个原因,为什么用css定义一些东西?只是想知道:) – Sotiris 2010-08-22 14:42:40

+0

感谢弥敦道它工作正常。但为什么行和列没有? – Mick 2010-08-22 14:53:24

+0

尽管CSS的高度/宽度起作用,但我同意@Sotiris定义行和列也起作用。也就是说,使用CSS方法的一个优点是可以从外部控制文本框,而使用HTML属性仅限于内联更改。 – 2010-08-22 15:00:32

-1

我与使用jQuery一个动态的解决方案去:

$("textarea").each(function(){ 
    var rows = $(this).attr('rows'); 
    var newHeight = rows * 30; 
    $(this).css({ 
    "height": newHeight + 'px' 
    }); 
});