您当前的位置:首页 > 网站建设笔记 >

单行文本框input与多行文本框textarea有什么区别

来源:JavaScript高级程序设计(第3版)0

文本框脚本

在HTML中,有两种方式来表现文本框:一种是使用<input>元素的单行文本框,另一种是使用<textarea>的多行文本框。这两个控件非常相似,而且多数时候的行为也差不多。不过,它们之间仍然存在一些重要的区别。

要表现文本框,必须将<input>元素的type特性设置为"text"。而通过设置size特性,可以指定文本框中能够显示的字符数。通过value特性,可以设置文本框的初始值,而maxlength特性则用于指定文本框可以接受的最大字符数。如果要创建一个文本框,让它能够显示25个字符,但输入不能超过50个字符,可以使用以下代码:

<input type="text" size="25" maxlength="50" value="initial value">

相对而言,<textarea>元素则始终会呈现为一个多行文本框。要指定文本框的大小,可以使用rows和cols特性。其中,rows特性指定的是文本框的字符行数,而cols特性指定的是文本框的字符列数(类似于<input>元素的size特性)。与<input>元素不同,<textarea>的初始值必须要放在<textarea>和</textarea>之间,如下面的例子所示。

<textarea rows="25" cols="5">initial value</textarea>

另一个与<input>的区别在于,不能在HTML中给<textarea>指定最大字符数。

无论这两种文本框在标记中有什么区别,但它们都会将用户输入的内容保存在value属性中。可以通过这个属性读取和设置文本框的值,如下面的例子所示:

var textbox = document.forms[0].elements["textbox1"];
alert(textbox.value);

textbox.value = "Some new value";

我们建议读者像上面这样使用value属性读取或设置文本框的值,不建议使用标准的DOM方法。换句话说,不要使用 setAttribute()设置<input>元素的value特性,也不要去修改<textarea>元素的第一个子节点。原因很简单:对value属性所作的修改,不一定会反映在DOM中。因此,在处理文本框的值时,最好不要使用DOM方法。

建站咨询

在线咨询真诚为您提供专业解答服务

咨询热线

137 1731 25507×24小时服务热线

微信交流

二维码终于等到你,还好我没放弃
返回顶部