没有合适的资源?快使用搜索试试~ 我知道了~
文本框失去焦点问题
需积分: 29 7 下载量 119 浏览量
2013-05-30
15:34:54
上传
评论
收藏 6KB TXT 举报
温馨提示
试读
6页
文本框焦点问题解答,没有基础的看着费劲 TextBox组件[2](文本框组件)是一种常用的,也是比较容易掌握的组件。应用程序主要使用它来接收使用者于输入文字信息。 当我们使用Visual Basic .Net集成开发环境开发应用程序时,在从【工具箱】的【Windows窗体】选项卡中向Form1的设计窗体拖入一个TextBox组件的后,我们可能并没有感觉到即使是这样一个简单的操作,Visual Basic .Net都做了很多幕后工作。主要工作和步骤如下: 1. 首先实例化System.Windows.Forms.TextBox类,并根据拖动到窗体的位置和形状分别设定TextBox实例的各个属性。 2. 我们看到的设计窗体,其实是Form1类的一个实例,而Form1类首先是从System.Windows.Forms.Form类继承而来,Form1类中的成员根据使用者往窗体中拖入的组件不同而不同。各个成员通过Add或AddRange方法加入到Form1中,这样拖入的组件才能够显示在设计窗体上。
资源推荐
资源详情
资源评论
为页面上某些文本框添加离开验证输入事件
今天朋友问我一个js的问题,他是这么描述的:
页面上有些许文本框,但是要求获得焦点后就必须为其输入数据. 如果光标离开,
验证是否已经填入数据,如果没有填入数据就弹出提示对话框. 结束对话框后,
要求该文本框获得焦点,可以继续输入.
起初我没有在意,但是看了他的要求,我觉得应该很简单吧!后来看了看,似乎并不容易.
问题出现在怎么添加事件执行代码. 先贴一段代码,
为id为text的div标签下的所有文本框添加失去焦点的事件
<html>
<head>
<title></title>
<script type="text/javascript">
function initialize() {
var text = document.getElementById("text").getElementsByTagName("input");
for(var i = 0; i < text.length; i++) {
text[i].onblur = function() {
// 失去焦点的事件
}
}
}
onload = function() {
initialize();
}
</script>
</head>
<body>
<div id="text">
<input type="text" /><br />
今天朋友问我一个js的问题,他是这么描述的:
页面上有些许文本框,但是要求获得焦点后就必须为其输入数据. 如果光标离开,
验证是否已经填入数据,如果没有填入数据就弹出提示对话框. 结束对话框后,
要求该文本框获得焦点,可以继续输入.
起初我没有在意,但是看了他的要求,我觉得应该很简单吧!后来看了看,似乎并不容易.
问题出现在怎么添加事件执行代码. 先贴一段代码,
为id为text的div标签下的所有文本框添加失去焦点的事件
<html>
<head>
<title></title>
<script type="text/javascript">
function initialize() {
var text = document.getElementById("text").getElementsByTagName("input");
for(var i = 0; i < text.length; i++) {
text[i].onblur = function() {
// 失去焦点的事件
}
}
}
onload = function() {
initialize();
}
</script>
</head>
<body>
<div id="text">
<input type="text" /><br />
<input type="text" /><br />
<input type="text" /><br />
<input type="text" /><br />
</div>
</body>
</html>
关于这个题目的问题就在于如何使文本框获得焦点.
要求失去焦点的时候检查是否有数据,没有数据弹出对话框,并要求当前文本框获得焦点
简单的想法就是
text[i].onblur = function() {
// 长度为零表示没有数据
if(this.value.length == 0) {
alert("请输入数据");// 弹出对话框
this.focus();// 获得焦点
}
}
感觉没什么问题,但是一到浏览器中执行就悲剧了. 因为会死在一个窗体事件的调用上. 怎么回事儿呢?
原来第一个文本框获得焦点的时候,如果没有输入数据,直接跳到第二个文本框(或者是点击页面的其他地方,也或者让光标离开浏览器),都会触发离开的事件
1、如果是点击文本框,将鼠标离开文本框点击,也不点击其他文本框
-> 离开时首先判断文本框中是否有数据,即value.length == 0
-> 如果没有数据,则弹出对话框"请输入数据",同时文本框失去焦点
-> 待用户点击确认后,该文本框获得焦点
这样没有什么问题,但是如果点击的是下一个文本框就不一样了
2、点击第一个文本框,然后点击另一个文本框(悲剧了)
-> 第一个文本框失去焦点,第二个文本框得到焦点就触发了事件
-> 添加代码,得到焦点的代码,看看当第二个文本框获得焦点时事件的触发顺序
-> 先为每个文本框添加一个title属性,并一次赋值: 1,2,3,4
<div id="text">
<input type="text" title="1" /><br />
<input type="text" /><br />
<input type="text" /><br />
</div>
</body>
</html>
关于这个题目的问题就在于如何使文本框获得焦点.
要求失去焦点的时候检查是否有数据,没有数据弹出对话框,并要求当前文本框获得焦点
简单的想法就是
text[i].onblur = function() {
// 长度为零表示没有数据
if(this.value.length == 0) {
alert("请输入数据");// 弹出对话框
this.focus();// 获得焦点
}
}
感觉没什么问题,但是一到浏览器中执行就悲剧了. 因为会死在一个窗体事件的调用上. 怎么回事儿呢?
原来第一个文本框获得焦点的时候,如果没有输入数据,直接跳到第二个文本框(或者是点击页面的其他地方,也或者让光标离开浏览器),都会触发离开的事件
1、如果是点击文本框,将鼠标离开文本框点击,也不点击其他文本框
-> 离开时首先判断文本框中是否有数据,即value.length == 0
-> 如果没有数据,则弹出对话框"请输入数据",同时文本框失去焦点
-> 待用户点击确认后,该文本框获得焦点
这样没有什么问题,但是如果点击的是下一个文本框就不一样了
2、点击第一个文本框,然后点击另一个文本框(悲剧了)
-> 第一个文本框失去焦点,第二个文本框得到焦点就触发了事件
-> 添加代码,得到焦点的代码,看看当第二个文本框获得焦点时事件的触发顺序
-> 先为每个文本框添加一个title属性,并一次赋值: 1,2,3,4
<div id="text">
<input type="text" title="1" /><br />
剩余5页未读,继续阅读
资源评论
Felix、才
- 粉丝: 1
- 资源: 16
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功