KavenYan
小狐狸
小狐狸
  • UID7238
  • 注册日期2005-07-11
  • 最后登录2006-01-12
  • 发帖数19
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
阅读:3523回复:3

带select标签按enter键登录问题

楼主#
更多 发布于:2005-08-31 11:17
最近遇到一个问题是一个登录框分别登录多个地方,所以就在登录框后面增加一个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>
送人玫瑰之手,历久犹有余香。
KavenYan
小狐狸
小狐狸
  • UID7238
  • 注册日期2005-07-11
  • 最后登录2006-01-12
  • 发帖数19
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
1楼#
发布于:2005-08-31 11:17
大侠看看怎么解决阿。
送人玫瑰之手,历久犹有余香。
xqstation
小狐狸
小狐狸
  • UID7934
  • 注册日期2005-08-11
  • 最后登录2005-10-17
  • 发帖数35
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
2楼#
发布于:2005-08-31 11:17
哈.我对JS一无所知
KavenYan
小狐狸
小狐狸
  • UID7238
  • 注册日期2005-07-11
  • 最后登录2006-01-12
  • 发帖数19
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
3楼#
发布于:2005-08-31 11:17
我晕,呵呵。
尝试了几种都搞不定。
送人玫瑰之手,历久犹有余香。
游客

返回顶部