【急】用图片做提交表单按钮时,javascript出现的一个问题,求高手解决

主要代码如下<scriptlanguage="javaScript"type="text/javascript">functionrsubmit(obj){obj.sub... 主要代码如下
<script language="javaScript" type="text/javascript">
function rsubmit(obj){
obj.submit(); if(document.forms[0].username.value.length<5||document.forms[0].username.value.length>10)
{
if (document.all){document.getElementById('span1').innerText="用户名须6-10位 ";return false;}
else {document.getElementById('span1').textContent="用户名须6-10位";return false;}
}
else {window.location="welcome.html";}
}
</script>

<form action="" id="rform" name="rform">
<input type="text" name="username" size=21/><span id="span1"></span><br/>
<a href="javascript:rsubmit(document.rform);">
<img border="0px" src="images/login_61.jpg"></a>
</form>

基本功能就是,当提交按钮时发现输入框内的内容不在6-10位范围内时,在输入框旁边显示“用户名须6-10位”,当满足要求时跳转到welcome.html。

但是,粗大事了,当我输入的内容不在6-10位时点击后会显示“用户名须6-10位”,但是刚显示马上又消失了,而且输入框内的内容也同时清空了。

我想应该是return出了问题,但是改了好多地方都还是这样,求高手解决。
展开
 我来答
深海大龙虾爷
2012-03-13 · TA获得超过608个赞
知道小有建树答主
回答量:478
采纳率:37%
帮助的人:183万
展开全部
<html>
<head>
<title>test</title>
<script language="javascript" type="text/javascript">
function rsubmit(obj){
if(document.forms[0].username.value.length<5
||
document.forms[0].username.value.length>10){
if (document.all){
document.getElementById('span1').innerText="用户名须6-10位 ";
}
else {
document.getElementById('span1').textContent="用户名须6-10位";
}
}
else {
obj.submit();
}
}
</script>
</head>
<body>
<form action="welcome.jsp" id="rform" name="rform">
<input type="text" name="username" size=21 />
<span id="span1"></span>
<br />
<a href="javascript:rsubmit(document.rform);"> <img border="0px"
src="images/login_61.jpg"> </a>
</form>
</body>
</html>
wisdomoon
2012-03-13 · 超过12用户采纳过TA的回答
知道答主
回答量:51
采纳率:0%
帮助的人:20万
展开全部
<script language="javaScript" type="text/javascript">
function clickPic(){
var username = document.rform.username.value;
if(username.length<5||username.length>10)
{
document.getElementById('span1').innerText="用户名须6-10位 ";
document.rform.username.focus();
return false;
}
else {
return true;
}
}
</script>
1.你的document.all在这里并没有实际意义,这个方法已经很久没有人用了。
2.你的obj.submit()和window.location是冲突的。提交加跳转?你到底想让表单提交、还是让页面跳到静态页面?如果想让表单提交数据,那么就要跳转到一个逻辑组件
3.页面这样写很直观:
<a href="welcome.html" onclick="return clickPic();">
<img border="0px" src="images/login_61.jpg"></a>
</form>
追问
你这样都直接跳转了啊,都没验证输入了
追答
else 里面的换成rform.submit(),href="#"不就成了? 看到你已经解决了 不错
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友a0124da
2012-03-13 · 超过33用户采纳过TA的回答
知道答主
回答量:111
采纳率:0%
帮助的人:77.6万
展开全部
obj.submit(); 这个放到判断数据都正确时需要做XXX那个语句块里试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
康康199212
2012-03-13
知道答主
回答量:68
采纳率:0%
帮助的人:24.1万
展开全部
两个return false
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式