form表单字段元素对象实例(二)— —用户名和密码争夺焦点,造成死锁事件
来源:互联网 发布:手机网页翻译软件 编辑:程序博客网 时间:2024/04/30 01:08
如果用户名输入文本框失去焦点时的事件处理程序检查到用户名为空,将焦点移回到用户名输入文本框上;如果密码输入框失去焦点时的事件处理程序检查到密码为空,也将焦点移回到密码输入文本框上,这样,将产生死锁的现象。
<script type="text/javascript">
function checkName(frm) {
if (frm.user.value == "") {
alert("用户名不能为空");
frm.user.focus();
}
}
function checkPwd(frm) {
if (frm.pwd.value == "") {
alert("用户名不能为空");
frm.pwd.focus();
}
}
</script>
</head>
<body>
<form method="post" action="">
用户名:<input id="txtSname" name="user" onblur="checkName(this.form)" type="text" /><br />
密码 :<input id="txtPwd" name="pwd" onblur="checkPwd(this.form)" type="text" /><br />
<input id="btnOK" type="submit" value="提交" />
</form>
</body>
</html>
先单击用户名输入框,再单击密码输入文本框,在这个过程中,密码输入文本框得到焦点的同时,用户名输入文本框失去焦点,程序把焦点移回到用户名输入框;当程序把焦点移回到用户名输入文本框的同时,密码输入文本框失去了焦点,程序又将焦点移回到密码输入文本框。这两个文本输入框来回争夺焦点,就形成了死锁状态。
为事件处理函数传递参数,其主要作用就是为了实现函数的通用性和便于在事件处理函数中访问操作的HTML元素对象。针对上卖弄的例子,将From表单对象作为参数传递给事件处理函数的方式并不是很好,而直接将用户名或密码文本输入框作为参数传递给事件处理函数的方式会更好。
<script type="text/javascript">
function checkValue(textFeild) {
if (textFeild.value == "") {
alert("您还没有在文本框中输入内容");
textFeild.focus();
}
}
</script>
</head>
<body>
<form method="post" action="">
用户名:<input id="txtSname" name="user" onblur="checkValue(this)" type="text" /><br />
密码 :<input id="txtPwd" name="pwd" onblur="checkValue(this)" type="text" /><br />
<input id="btnOK" type="submit" value="提交" />
</form>
</body>
</html>
弊端:这样做必须在一个文本输入框失去焦点后在该文本输入框中输入内容,否则会出现问题。
- form表单字段元素对象实例(二)— —用户名和密码争夺焦点,造成死锁事件
- form表单字段元素对象实例(一)— —当将焦点切换到密码框时,密码输入框上将发生onFocus事件。
- form表单字段元素对象(三)— —按回车键,焦点移到下一个文本输入框
- DOM之Form对象(二)表单字段元素
- form表单 用户名,密码和邮箱验证
- form表单处理——使用servlet展示用户名、密码
- form元素值的操作获得和丧失焦点事件
- form表单字段元素对象(四)— —为列表框增加若干选择项,并自动选择其中某一选项
- JQuery实例(二)- 表单用户名是否可以验证
- 表单元素事件 (Form Element Events)
- spring security form 表单提交 多种方式登录(如用户名,邮箱,+密码)登录)
- Android事件分发与焦点争夺
- XHTML5 ----- 表单验证(用户名、密码和email检测)
- 序列化form表单元素为对象
- 焦点事件onfocus和onblur造成的死循环问题
- 登录界面—记住用户名和密码
- form可以和表单内的元素分离,form属性
- 表单的焦点事件
- linux下使用jni实现c++调用java程序(2)找不到java类的问题
- ZJUT 1208 排列对称串
- (译)加入敌人和战斗:如果使用cocos2d制作基于tiled地图的游戏:第三部分
- 分层遍历二叉树
- Jfreechart柱形图详细设置(转)
- form表单字段元素对象实例(二)— —用户名和密码争夺焦点,造成死锁事件
- pku Graph Coloring
- 很有用的Html 显示特殊符号
- NSAssert
- Android软件安全开发实践(上)
- 优化C++游戏:对象的创建和销毁
- (译)如何使用cocos2d开发一个简单的iphone游戏:旋转炮塔。(第二部分)
- UIImageView响应点击事件
- 如何查看mysql支持的存储引擎