【急】用图片做提交表单按钮时,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出了问题,但是改了好多地方都还是这样,求高手解决。 展开
<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出了问题,但是改了好多地方都还是这样,求高手解决。 展开
4个回答
展开全部
<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>
<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>
展开全部
<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>
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="#"不就成了? 看到你已经解决了 不错
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
obj.submit(); 这个放到判断数据都正确时需要做XXX那个语句块里试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
两个return false
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询