js验证失败为什么还跳转 难道是函数逻辑问题吗?具体代码补充问题中
<formaction="regedit"method="post"onSubmit="returnchecked()"><inputtype="text"name="u...
<form action="regedit" method="post" onSubmit="return checked()">
<input type="text" name="userid" id="userid" />
<input type="submit" name="submit" value="提交" />
</form>
checked()在js文件夹
function checked() {
var userid = trim(document.getElementById("userid").value);
var error_msg = "";
var result = true;
if (userid.length != 8) {
alert("error");
error_msg = addALine(error_msg, "会员ID必须为8位长度");
result = false;
}
弹出error之后依旧跳转,在线求解答
后面return result ;忘记写了 展开
<input type="text" name="userid" id="userid" />
<input type="submit" name="submit" value="提交" />
</form>
checked()在js文件夹
function checked() {
var userid = trim(document.getElementById("userid").value);
var error_msg = "";
var result = true;
if (userid.length != 8) {
alert("error");
error_msg = addALine(error_msg, "会员ID必须为8位长度");
result = false;
}
弹出error之后依旧跳转,在线求解答
后面return result ;忘记写了 展开
展开全部
if (userid.length != 8) {
alert("error");
error_msg = addALine(error_msg, "会员ID必须为8位长度");
result = false;
}
之后加上 return true;
因为满足if (userid.length != 8)时返回false,但不满足if (userid.length != 8)时呢?未指定。故而未满足if (userid.length != 8)时返回值未知。
所以:
if (userid.length != 8) {
alert("error");
error_msg = addALine(error_msg, "会员ID必须为8位长度");
result = false;
}
return true;或者 return false;
alert("error");
error_msg = addALine(error_msg, "会员ID必须为8位长度");
result = false;
}
之后加上 return true;
因为满足if (userid.length != 8)时返回false,但不满足if (userid.length != 8)时呢?未指定。故而未满足if (userid.length != 8)时返回值未知。
所以:
if (userid.length != 8) {
alert("error");
error_msg = addALine(error_msg, "会员ID必须为8位长度");
result = false;
}
return true;或者 return false;
追问
我补充里面补充了啊 我是忘记写了 就是最后就是一句 return result;result就是最先设置的布尔标志位
追答
这样子的:
var result = true;
if (userid.length != 8) {
alert("error");
error_msg = addALine(error_msg, "会员ID必须为8位长度");
result = false;
}
return result;
当if (userid.length != 8) 不为真时,result 的值是之前定义的true。返回值为真,form就要动作了啊。
应该这样写:
var result = false;
if (userid.length = 8) {
result = true;
}else{
alert("error");
error_msg = addALine(error_msg, "会员ID必须为8位长度");
result = false;
}
return result;
只让满足条件的情况下才返回true,其他都是false,行了。
展开全部
首先直接return false不就行么,还定义个变量return干嘛!
把onSubmit="return checked()"移到button的onclick事件呗!
把onSubmit="return checked()"移到button的onclick事件呗!
追问
类型为buttton的话表单数据怎么提交?而且我用你的方法结果那个alert内容也没有弹出来~只出现了页面下面说网页有错误
追答
button……不能提交……
那我都是怎么提交上去的……你太让我尴尬了!
反正我的提交、alt都没问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在<form action="regedit" method="post" onSubmit="return checked()">
中的return checked()后面添加分号“;”
中的return checked()后面添加分号“;”
追问
还是跳转了啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询