按钮提交表单,JS返回问题

近我遇到个很纠结的问题,我有个表单,action属性是提交到一个验证页面,暂且不管它,表单的onsubmit提交到一个JS,JS判断表单中几个文本框的value值是否为空... 近我遇到个很纠结的问题,我有个表单,action属性是提交到一个验证页面,暂且不管它,表单的onsubmit提交到一个JS,JS判断表单中几个文本框的value值是否为空,为空的话显示默认值为隐藏值的DIV,并返回。但是错误出来了,每当按下按钮后,JS有返回错误,但是页面会被刷新一次,这样返回的错误提示又被刷没了,请问这是怎么回事?
如下为代码:
JS.JS
function goform1(){
if (document.form1.names.value="")
{document.getElementById('apdiv1').style.display=""
document.getElementById('apdiv2').style.display="none";
document.form1.names.focus();
return false;
}
if (document.form1.pass.value="")
{document.getElementById('apdiv2').style.display=""
document.getElementById('apdiv1').style.display="none";
document.form1.pass.focus(); return false;}
return true;
}

如下是客户页面代码:
<form action="11.asp" mothod="post" id="form1" onsubmit="return goform1()">
<input type="text" id="names" value="">
<br>
<div id="apdiv1" style="display:none; width:100px;">ok,names</div>
<br>
<input type="password" id="pass" value="">
<br>
<div id="apdiv2" style="display:none; width:100px;">pass,ok</div>
<br>
<input type="submit" id="login" value="login">
</form>

请指教谢谢!
展开
 我来答
is8888
2010-03-21 · TA获得超过695个赞
知道小有建树答主
回答量:530
采纳率:0%
帮助的人:563万
展开全部
有几点需要说明:
1、你在获取表单元素的值的时候,使用的是【document.form1.names.value】,这种方式是通过name属性来获取的,也就是说,获取name属性为form1中的元素name属性为names的值。但是,你只是设定了id值,这样将不能获取到值。
2、一个很低级的错误,上面的人在回答时也没有注意到这个问题,就是【=】与【==】的问题,你使用的是【document.form1.names.value=""】,也就是说,你每次提交的时候其实都是先将你指定的对象的值赋予空值,然后判断,因为空值转换成Boolean是false,因此,其实你的两个if语句就是两个【if(false)】语句。因此,最后都是返回true【最后返回的那个】。
修改后的结果如下:
<script type="text/javascript">
function goform1(){
if (document.form1.names.value=="")
{
document.getElementById('apdiv1').style.display="";
document.getElementById('apdiv2').style.display="none";
document.form1.names.focus();
return false;
}
if (document.form1.pass.value=="")
{
document.getElementById('apdiv2').style.display="";
document.getElementById('apdiv1').style.display="none";
document.form1.pass.focus(); return false;
}
return true;
}
</script>
如下是客户页面代码:
<form action="11.asp" mothod="post" name="form1" id="form1" onsubmit="return goform1();">
<input type="text" name="names" id="names" value="">
<br>
<div id="apdiv1" style="display:none; width:100px;">ok,names</div>
<br>
<input type="password" name="pass" id="pass" value="">
<br>
<div id="apdiv2" style="display:none; width:100px;">pass,ok</div>
<br>
<input type="submit" id="login" value="login">
</form>
给你提个建议:建议你在写代码的时候还是尽量做到规范,分号不要省,格式要有规律的缩进,这样会对你有好处的。
祝你学习愉快!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友0f9262f03
2010-03-21 · TA获得超过219个赞
知道答主
回答量:230
采纳率:0%
帮助的人:168万
展开全部
改成这样:

function goform1(){
if (document.form1.names.value="")
{document.getElementById('apdiv1').style.display=""
document.getElementById('apdiv2').style.display="none";
document.form1.names.focus();
return false;
}
else if (document.form1.pass.value="")
{document.getElementById('apdiv2').style.display=""
document.getElementById('apdiv1').style.display="none";
document.form1.pass.focus(); return false;}
else return true;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式