阅读:3810回复:3
带select标签按enter键登录问题
最近遇到一个问题是一个登录框分别登录多个地方,所以就在登录框后面增加一个select标签,通过选择select标签来确定需要登录的地方,但出现这样一个问题,一般情况下输入用户名,密码然后按enter键,浏览器就会默认为点击提交,但如果在输入用户名,密码后,在选择select标签中的选项,这个时候select获取标签,按enter键就没有提交效果(如果是默认select选项,即select不获取焦点则没有问题)。
为此我添加了一个js,用来确保当select选项获取焦点的时候,给提交按钮一个click事件,但是这个时候,问题又来了,如果登录的这个页面是弹出的话,在FF&IE6.0中会认为是弹出广告,如果把<base target="_blank" />去掉,或者在form标签中增加targe="self"则没有这个问题。 效果页面:http://dancewithnet.com/special/200508/31_1/ 请问这个问题如何解决,请高手指点 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>多种登录</title> <style type="text/css"> <!-- Body{text-align:center;padding:50px} div{boder:1px dashed #ccc;margin:0 auto;width:750px;background:#f8f8f8} --> </style> <base target="_blank" /> <script type="text/javascript"> function loginSubmit(){ var userName = document.getElementById("userName") var password = document.getElementById("password") var login = document.getElementById("login") var loginSelect = document.getElementById("loginSelect").value var objSubmit = document.getElementById("submit") if(userName.value == ""){alert("请输入用户名");password.focus();return false} if(password.value == ""){alert("请输入密码");password.focus();return false} if(loginSelect == "随网之舞"){login.action="http://dancewithnet.com"} if(loginSelect == "网易"){login.action="http://www.163.com?"} if(loginSelect == "新浪"){login.action="http://www.sina.com"} objSubmit.submit; doSth(); } var timePassword = null; function doSth(){timePassword = setInterval("document.getElementById('password').value = '';clearInterval(timePassword)",1000);} function enterSubmit(event){if(event.keyCode==13){document.getElementById("submit").click()}} </script> <body> <div> <form id="login" name="login" method="post" action=""> 用户名<input id="userName" name="username" /> 密码<input id="password" name="password" type="password" /> <select id="loginSelect" onkeydown="enterSubmit(event)"><option value="随网之舞" selected="selected">随网之舞</option><option value="网易">网易</option><option value="新浪">新浪</option></select><input id="submit" name="submit" type="submit" value="登录" onclick="return loginSubmit()" /> </form> </div> </body> </html> |
|
|
1楼#
发布于:2005-08-31 11:17
大侠看看怎么解决阿。
|
|
|
2楼#
发布于:2005-08-31 11:17
哈.我对JS一无所知
|
|
3楼#
发布于:2005-08-31 11:17
我晕,呵呵。
尝试了几种都搞不定。 |
|
|