JavaScript 控制文本框和文本域(js设置文本框内容)

yumo6665个月前 (04-29)技术文章78

文本框是表单中与用户打交道最多的元素之一,它包括单行文本框<input type="text">和多行文本框<textarea>,

更广义的还可以包括密码输入框<input type="password">。

控制用户输入字符个数

对于单行文本框<input type="text">和密码输入框<input type="password">而言,可以利用自身的maxlength属性控制用户输入字符的个数;

<input type="text" name="name" id="name" class="txt" value="姓名" maxlength="10"/>

而对于多行文本框<textarea>没有类似的属性,可以自定义类似的属性,并对onkeypress事件做相应的处理

<textarea name="comments" id="comments" cols="40" rows="4" maxlength="50" onkeypress="return LessThan(this);"></textarea/>

以上代码中maxlength为自定义属性(<textarea>标签中没有这个maxlength属性),其值为最多允许输入的字符的个数,

在onkeypress事件发生时则调用返回LessThan()函数的返回值,函数如下:

function LessThan(oTextArea){
//返回文本框字符个数是否符号要求的boolean值
return oTextArea.value.length < oTextArea.getAttribute("maxlength");
}

实例:

<html>
<head>
<title>控制textarea的字符个数</title>
<style>
<!--
form{
padding:0px;
margin:0px;
font:14px Arial;
}
input.txt{ /* 文本框单独设置 */
border: 1px inset #00008B;
background-color: #ADD8E6;
}
input.btn{ /* 按钮单独设置 */
color: #00008B;
background-color: #ADD8E6;
border: 1px outset #00008B;
padding: 1px 2px 1px 2px;
}
-->
</style>
<script language="javascript">
function LessThan(oTextArea){
//返回文本框字符个数是否符号要求的boolean值
return oTextArea.value.length < oTextArea.getAttribute("maxlength");
}
</script>
</head>
<body>
<form method="post" name="myForm1" action="addInfo.aspx">
<p><label for="name">请输入您的姓名:</label>
<input type="text" name="name" id="name" class="txt" value="姓名" maxlength="10"></p>
<p><label for="comments">我要留言:</label><br>
<textarea name="comments" id="comments" cols="40" rows="4" maxlength="50" onkeypress="return LessThan(this);"></textarea></p>
<p><input type="submit" name="btnSubmit" id="btnSubmit" value="Submit" class="btn">
<input type="reset" name="btnReset" id="btnReset" value="Reset" class="btn"></p>
</form>
</body>
</html>

设置鼠标经过时自动选择文本

通常是在用户名、密码等文本框中希望鼠标指针经过时自动聚焦,并且能够选中默认值以便用户直接删除。

首先是鼠标指针经过时自动聚焦,代码如下

onmouseover="this.focus()"

其次是聚焦后自动选中所有文本,代码如下:

onfocus="this.select()"
如:<label for="name">请输入您的姓名:</label>
<input type="text" name="name" id="name" class="txt" value="姓名" onmouseover="this.focus()" onfocus="this.select()">

javascript分离实现自动选择文本

<script language="javascript">
function myFocus(){
    this.focus();
}
function mySelect(){
    this.select();
}
window.onload = function(){
    var oForm = document.forms["myForm1"];
    oForm.name.onmouseover = myFocus;
    oForm.name.onfocus = mySelect;
}
</script>

相关文章

html开发笔记22-表单元素「用户名、密码、单选框、多选框」

一、表单元素介绍【用户名、密码、单选框、多选框】1、表单:就是从网页上看见的各种各样的框,比如 登陆框、同意协议的选项框、下拉框、只能选男女的选框等。二、演示:主要代码在下面三、代码实现:用户名、密码...

适用于Mac的最佳HTML文本编辑器,编码开发必备

一个好的文本编辑器对于想要建立网站或进行编码的任何人都是必不可少的。这对于习惯于面面俱到的环境的Mac开发人员而言更加明显。对于他们来说存在一系列不同的优质软件之选。今天小编将介绍几款Mac上好用的H...

不可不知的OA系统工作流管理知识(二)

在上一篇文章中,我们介绍了OA系统工作流中的表单分为三种类型:文档表单、电子表单、混合表单,并详细介绍了文档表单的特点。今天,我们继续以华天动力OA系统为样板,介绍另外两种类型的表单:电子表单和混合表...

网站验证说明(网页验证是什么)

功能说明1.提交网站并验证网站归属后即可使用站长工具。2.建议您验证所有需要进行分析的子域名,以便更充分地使用站长工具。验证方法一、文件验证1、下载验证文件2、添加到进行验证的网站域名(如:www.t...

Win7 32位系统可以上网不能ping任何地址是怎么回事

在操作win7系统(win7zhijia.cn)过程中,经常会碰到一些问题,比如有用户反映说在公司里面可以ping指定地址,但是到了家里win7系统可以上网,但是却不能ping任何地址,这是怎么回事呢...