form内使用onsubmit="return function();”输入条件不符时,返回false阻止默认动作,使用post方法提交,在页面跳转时地址栏不会显示密码。
<form id="pwd" method="post" onSubmit="return ifPwdEmpty();" > <table border="0px" > <tr><td colspan="2" id="caption">完善个人信息<br/></td></tr> <tr><td colspan="2"><hr /></td></tr> <tr><td colspan="2" ><h3>修改登录密码</h3></td></tr> <tr><td width="100px" >输 入 旧 密 码:</td><td><input type="password" id="password"/></td></tr> <tr><td >输 入 新 密 码:</td><td><input type="password" id="newpassword"/></td></tr> <tr><td >再次输入密码:</td><td><input type="password" id="repassword" /></td></tr> <tr><td colspan="2" class="submit"><button class="radius" id="sure">确认修改</button></td></tr> <tr><td colspan="2"><hr /></td></tr> </table> </form>
return false只在本函数中有效,函数调用中无效,不能阻止函数继续执行。
function ifPwdEmpty(){ var pwd=document.getElementsByTagName("input"); for(var i=0;i<pwd.length;i++){ if(pwd[i].type=='password'&&pwd[i].value==0){ alert("请输入密码!"); pwd[i].focus(); return false; } } var newpassword=document.getElementById("newpassword"); var repasswourd=document.getElementById("repassword"); if(newpassword.value!=repasswourd.value){ alert("输入密码不一致,请重新输入!"); repasswourd.value=""; repasswourd.focus(); return false; } }