javascript return false 不能阻止form提交
返回returnfalse,还是会跳转请问错在哪儿?该怎么改?<html><head><title></title><scripttype="text/javascrip...
返回return false ,还是会跳转 请问错在哪儿? 该怎么改?
<html>
<head>
<title></title>
<script type="text/javascript">
function f(len) {
var str = document.getElementById("t1").value;
len = 0;
for (var i = 0; i < str.length; i++) { if (str.charCodeAt(i) > 255) { len += 2 } else { len++ } };
if (len < 10) { document.getElementById("sp").innerHTML = "<span style='color:red;font-weight:bold'>不能少于10个字符<br /></span>" }
else { document.getElementById("sp").innerHTML = "<span style='color:green'>输入正确<br /></span>" }
return len;
}
function checkf() {
var b = f();
if (b < 10) { alert("输入错误"); return false; } }
</script>
</head>
<body><form action="index.php"><input type="text" onblur="f()" id="t1"/><span id="sp">请输入<br /></span><input type="submit" value="确认" onclick="checkf()"/>
</form></body>
</html> 展开
<html>
<head>
<title></title>
<script type="text/javascript">
function f(len) {
var str = document.getElementById("t1").value;
len = 0;
for (var i = 0; i < str.length; i++) { if (str.charCodeAt(i) > 255) { len += 2 } else { len++ } };
if (len < 10) { document.getElementById("sp").innerHTML = "<span style='color:red;font-weight:bold'>不能少于10个字符<br /></span>" }
else { document.getElementById("sp").innerHTML = "<span style='color:green'>输入正确<br /></span>" }
return len;
}
function checkf() {
var b = f();
if (b < 10) { alert("输入错误"); return false; } }
</script>
</head>
<body><form action="index.php"><input type="text" onblur="f()" id="t1"/><span id="sp">请输入<br /></span><input type="submit" value="确认" onclick="checkf()"/>
</form></body>
</html> 展开
8个回答
展开全部
<!DOCTYPE HTML>
<html>
<head>
<meta charset=utf-8 />
<title>test</title>
<script type="text/javascript">
function f(len) {
var str = document.getElementById("t1").value;
len = 0;
for (var i = 0; i < str.length; i++) {
if (str.charCodeAt(i) > 255) {
len += 2
} else {
len++
}
}
;
if (len < 10) {
document.getElementById("sp").innerHTML = "<span style='color:red;font-weight:bold'>不能少于10个字符<br /></span>"
}
else {
document.getElementById("sp").innerHTML = "<span style='color:green'>输入正确<br /></span>"
}
return len;
}
function checkf() {
var b = f();
if (b < 10) {
alert("输入错误");
return false;
} else {
return true;
}
}
</script>
</head>
<body>
<form action="index.php">
<input type="text" onblur="f()" id="t1"/>
<span id="sp">请输入<br /></span>
<input type="submit" value="确认" onclick="return checkf();"/>
</form>
</body>
</html>
展开全部
在 checkf 函数中的return值并没有被表单元素接受,你必须在返回后再用return将验证结果返回给表单元素:
<form action="index.php" onsubmit="return checkf()"><input
type="text" onblur="f()" id="t1"/><span id="sp">请输入<br
/></span><input type="submit" value="确认"/>
</form>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
居然有人说return false 是jQuery的用法。。。。难道jQuery不是JS?
应该这么写:onlickc="checkf(); return false;" 也就是说应该把return false写在onclick属性值里,而不是函数里,超链接的效果同理!
应该这么写:onlickc="checkf(); return false;" 也就是说应该把return false写在onclick属性值里,而不是函数里,超链接的效果同理!
追问
那如果 判断通过 提交会被阻止吗?
追答
看你的意思是想使用if语句判断提交与否,那你就别给添加Onclick事件了,给form添加一个Onsubmit事件监听,把属性值改为checkf()。
那你这么写把:.....
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<input type="button" value="确认" onclick="checkf()"/>
function checkf() {
var b = f();
if (b < 10) { alert("输入错误"); return false; }
else{
document.getElementById("给form取个id").submit();
}
}
<input type="submit" value="确认" onclick="checkf()"/>是个提交按钮 不管判断通过不通过都要提交一次的
function checkf() {
var b = f();
if (b < 10) { alert("输入错误"); return false; }
else{
document.getElementById("给form取个id").submit();
}
}
<input type="submit" value="确认" onclick="checkf()"/>是个提交按钮 不管判断通过不通过都要提交一次的
追问
也就是说 return false 无法阻止其提交吗? 那换submit换成button 能阻止跳转吗?
追答
是的,不能阻止
首先你要知道submit和button的区别 submit就是个提交按钮,你给加个方法只是他提交之前会运行的方法 却不能阻止他提交 ,而botton就是个按钮,没有任何作用,而你给他加了个方法,让他判断一下,再自己去提交,就可以实现你想要的结果了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不建议用submit.
1
<input type="button" value="确认" onclick="checkf()"/>
2
<form action="index.php" id="myForm">
3
function checkf() {
var b = f();
if (b < 10) { alert("输入错误"); return false; }
else{myForm.submit();}
}
1
<input type="button" value="确认" onclick="checkf()"/>
2
<form action="index.php" id="myForm">
3
function checkf() {
var b = f();
if (b < 10) { alert("输入错误"); return false; }
else{myForm.submit();}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询