登录  /  注册

阻止表单提交怎么用onsubmit呢?

php中文网
发布: 2016-06-23 13:13:51
原创
1154人浏览过

我在表单里面直接写onsubmit="return false;"  这样可以阻止表单提交   但是我弄了一个check函数先试了一下  这样就阻止不了提交  这是为什么   我没做过内容不合法阻止表单提交的例子    我这个代码写了很多个函数  如果不合法阻止表单提交的话怎么阻止呢?一个个加上return false这句话吗?

<!doctype html><html><head>    <meta charset="utf-8">	<title>			</title>	<style type="text/css">    div input{display: inline-block;width: 200px;height: 20px;border:1px solid #ccc;}    div .span1{display: inline-block;width: 90px;height: 20px;text-align: left;margin-top: 20px;}    div #sp1,#sp2,#sp3,#sp4{display: inline-block;width: 160px;height: 20px;}	</style>	<script src="ajax.js"></script>	<script type="text/javascript">		window.onload=function(){			var oinput=document.getelementsbytagname('input');			var oipt1=document.getelementbyid('ipt1');			var oipt2=document.getelementbyid('ipt2');			var oipt3=document.getelementbyid('ipt3');			var oipt4=document.getelementbyid('ipt4');			var osp1=document.getelementbyid('sp1');			var osp2=document.getelementbyid('sp2');			var osp3=document.getelementbyid('sp3');			var osp4=document.getelementbyid('sp4');			oipt1.value = '';			oipt2.value = '';			$("input[type=reset]").trigger("click");			var re=/^[\w]{6,12}$/;			function check(){				return false;			};			oipt1.onblur=function(){				if(oipt1.value==''){					this.style.border='1px solid red';				}else{					ajax("nameajax.php?id="+oipt1.value,function(str){					osp1.innerhtml=str;				    })				}			}; 			oipt2.onblur=function(){               if(oipt2.value==''){               	this.style.border='1px solid red';               	               }else{               	  if(oipt2.value.match(re)){               	  	osp2.innerhtml='密码合法';               	  }else{               	  	osp2.innerhtml='密码不合法';               	  }               }			}			oipt3.onblur=function(){				if(oipt3.value==''){               	this.style.border='1px solid red';               }else{               	if(oipt2.value==oipt3.value){               		osp3.innerhtml='密码正确';               	}else{               		osp3.innerhtml='密码不一致';               	}               }			};			oipt4.onblur=function(){				if(oipt4.value==''){					this.style.border='1px solid red';				}else{					ajax("emailajax.php?id="+oipt4.value,function(str){					osp4.innerhtml=str;				    })				}							};        };	</script></head><body><div>	<form action="reg.php" onsubmit="return check();" method="post">		<span class="span1">用 户 名:</span><input type="text" id="ipt1" name="username" autocomplete="off"><span id="sp1"></span><br />        <span class="span1">密  码:</span><input type="password" id="ipt2" autocomplete="off"><span id="sp2"></span><br />        <span class="span1">确认密码:</span><input type="password" id="ipt3" name="password" autocomplete="off"><span id="sp3"></span><br />        <span class="span1">邮  箱:</span><input type="text" id="ipt4"  name="email" autocomplete="off"><span id="sp4"></span><br />        <button type="submit">提交</button>	</form></div></body></html>
登录后复制


回复讨论(解决方案)

既然你是 onsubmit="return check();"
那么 check() 就应该有返回值呀!
你的 check 函数是怎么写的?不担心会有共享冲突吗?

把验证的代码 写到 check() 函数里面就行了 通过就是 return true; 不通过就是 return false

既然你是 onsubmit="return check();"
那么 check() 就应该有返回值呀!
你的 check 函数是怎么写的?不担心会有共享冲突吗?


这样直接return一个false不行吗

既然你是 onsubmit="return check();"
那么 check() 就应该有返回值呀!
你的 check 函数是怎么写的?不担心会有共享冲突吗?


这样简单试了一下 第一个空着不写还是能提交过去啊
function check(){
if(oIpt1.value==''){
return false;
}
};

<!DOCTYPE html><html><head>    <meta charset="utf-8">	<title>			</title>	<style type="text/css">    div input{display: inline-block;width: 200px;height: 20px;border:1px solid #ccc;}    div .span1{display: inline-block;width: 90px;height: 20px;text-align: left;margin-top: 20px;}    div #sp1,#sp2,#sp3,#sp4{display: inline-block;width: 160px;height: 20px;}	</style>	<script src="ajax.js"></script>	<script type="text/javascript">		window.onload=function(){			var oInput=document.getElementsByTagName('input');			var oIpt1=document.getElementById('ipt1');			var oIpt2=document.getElementById('ipt2');			var oIpt3=document.getElementById('ipt3');			var oIpt4=document.getElementById('ipt4');			var oSp1=document.getElementById('sp1');			var oSp2=document.getElementById('sp2');			var oSp3=document.getElementById('sp3');			var oSp4=document.getElementById('sp4');			oIpt1.value = '';			oIpt2.value = '';			$("input[type=reset]").trigger("click");			var re=/^[\w]{6,12}$/;			function check(){				//if(条件){				//	document.getElementById('form1').submit();				//}				return false;			};			oIpt1.onblur=function(){				if(oIpt1.value==''){					this.style.border='1px solid red';				}else{					ajax("nameajax.php?id="+oIpt1.value,function(str){					oSp1.innerHTML=str;				    })				}			}; 			oIpt2.onblur=function(){               if(oIpt2.value==''){               	this.style.border='1px solid red';               	               }else{               	  if(oIpt2.value.match(re)){               	  	oSp2.innerHTML='密码合法';               	  }else{               	  	oSp2.innerHTML='密码不合法';               	  }               }			}			oIpt3.onblur=function(){				if(oIpt3.value==''){               	this.style.border='1px solid red';               }else{               	if(oIpt2.value==oIpt3.value){               		oSp3.innerHTML='密码正确';               	}else{               		oSp3.innerHTML='密码不一致';               	}               }			};			oIpt4.onblur=function(){				if(oIpt4.value==''){					this.style.border='1px solid red';				}else{					ajax("emailajax.php?id="+oIpt4.value,function(str){					oSp4.innerHTML=str;				    })				}							};        };	</script></head><body><div>	<form action="reg.php" id="form1" onsubmit="return false" method="post">		<span class="span1">用 户 名:</span><input type="text" id="ipt1" name="username" autocomplete="off"><span id="sp1"></span><br />        <span class="span1">密  码:</span><input type="password" id="ipt2" autocomplete="off"><span id="sp2"></span><br />        <span class="span1">确认密码:</span><input type="password" id="ipt3" name="password" autocomplete="off"><span id="sp3"></span><br />        <span class="span1">邮  箱:</span><input type="text" id="ipt4"  name="email" autocomplete="off"><span id="sp4"></span><br />        <button type="button" onclick="check()">提交</button>	</form></div></body></html>
登录后复制
登录后复制
登录后复制

<!DOCTYPE html><html><head>    <meta charset="utf-8">	<title>			</title>	<style type="text/css">    div input{display: inline-block;width: 200px;height: 20px;border:1px solid #ccc;}    div .span1{display: inline-block;width: 90px;height: 20px;text-align: left;margin-top: 20px;}    div #sp1,#sp2,#sp3,#sp4{display: inline-block;width: 160px;height: 20px;}	</style>	<script src="ajax.js"></script>	<script type="text/javascript">		window.onload=function(){			var oInput=document.getElementsByTagName('input');			var oIpt1=document.getElementById('ipt1');			var oIpt2=document.getElementById('ipt2');			var oIpt3=document.getElementById('ipt3');			var oIpt4=document.getElementById('ipt4');			var oSp1=document.getElementById('sp1');			var oSp2=document.getElementById('sp2');			var oSp3=document.getElementById('sp3');			var oSp4=document.getElementById('sp4');			oIpt1.value = '';			oIpt2.value = '';			$("input[type=reset]").trigger("click");			var re=/^[\w]{6,12}$/;			function check(){				//if(条件){				//	document.getElementById('form1').submit();				//}				return false;			};			oIpt1.onblur=function(){				if(oIpt1.value==''){					this.style.border='1px solid red';				}else{					ajax("nameajax.php?id="+oIpt1.value,function(str){					oSp1.innerHTML=str;				    })				}			}; 			oIpt2.onblur=function(){               if(oIpt2.value==''){               	this.style.border='1px solid red';               	               }else{               	  if(oIpt2.value.match(re)){               	  	oSp2.innerHTML='密码合法';               	  }else{               	  	oSp2.innerHTML='密码不合法';               	  }               }			}			oIpt3.onblur=function(){				if(oIpt3.value==''){               	this.style.border='1px solid red';               }else{               	if(oIpt2.value==oIpt3.value){               		oSp3.innerHTML='密码正确';               	}else{               		oSp3.innerHTML='密码不一致';               	}               }			};			oIpt4.onblur=function(){				if(oIpt4.value==''){					this.style.border='1px solid red';				}else{					ajax("emailajax.php?id="+oIpt4.value,function(str){					oSp4.innerHTML=str;				    })				}							};        };	</script></head><body><div>	<form action="reg.php" id="form1" onsubmit="return false" method="post">		<span class="span1">用 户 名:</span><input type="text" id="ipt1" name="username" autocomplete="off"><span id="sp1"></span><br />        <span class="span1">密  码:</span><input type="password" id="ipt2" autocomplete="off"><span id="sp2"></span><br />        <span class="span1">确认密码:</span><input type="password" id="ipt3" name="password" autocomplete="off"><span id="sp3"></span><br />        <span class="span1">邮  箱:</span><input type="text" id="ipt4"  name="email" autocomplete="off"><span id="sp4"></span><br />        <button type="button" onclick="check()">提交</button>	</form></div></body></html>
登录后复制
登录后复制
登录后复制


改了 不行 表单那里也改了
function check(){
if(oIpt1.value==''){
document.getElementById('form1').submit();
}
return false;
};

<!DOCTYPE html><html><head>    <meta charset="utf-8">	<title>			</title>	<style type="text/css">    div input{display: inline-block;width: 200px;height: 20px;border:1px solid #ccc;}    div .span1{display: inline-block;width: 90px;height: 20px;text-align: left;margin-top: 20px;}    div #sp1,#sp2,#sp3,#sp4{display: inline-block;width: 160px;height: 20px;}	</style>	<script src="ajax.js"></script>	<script type="text/javascript">		window.onload=function(){			var oInput=document.getElementsByTagName('input');			var oIpt1=document.getElementById('ipt1');			var oIpt2=document.getElementById('ipt2');			var oIpt3=document.getElementById('ipt3');			var oIpt4=document.getElementById('ipt4');			var oSp1=document.getElementById('sp1');			var oSp2=document.getElementById('sp2');			var oSp3=document.getElementById('sp3');			var oSp4=document.getElementById('sp4');			oIpt1.value = '';			oIpt2.value = '';			$("input[type=reset]").trigger("click");			var re=/^[\w]{6,12}$/;			function check(){				//if(条件){				//	document.getElementById('form1').submit();				//}				return false;			};			oIpt1.onblur=function(){				if(oIpt1.value==''){					this.style.border='1px solid red';				}else{					ajax("nameajax.php?id="+oIpt1.value,function(str){					oSp1.innerHTML=str;				    })				}			}; 			oIpt2.onblur=function(){               if(oIpt2.value==''){               	this.style.border='1px solid red';               	               }else{               	  if(oIpt2.value.match(re)){               	  	oSp2.innerHTML='密码合法';               	  }else{               	  	oSp2.innerHTML='密码不合法';               	  }               }			}			oIpt3.onblur=function(){				if(oIpt3.value==''){               	this.style.border='1px solid red';               }else{               	if(oIpt2.value==oIpt3.value){               		oSp3.innerHTML='密码正确';               	}else{               		oSp3.innerHTML='密码不一致';               	}               }			};			oIpt4.onblur=function(){				if(oIpt4.value==''){					this.style.border='1px solid red';				}else{					ajax("emailajax.php?id="+oIpt4.value,function(str){					oSp4.innerHTML=str;				    })				}							};        };	</script></head><body><div>	<form action="reg.php" id="form1" onsubmit="return false" method="post">		<span class="span1">用 户 名:</span><input type="text" id="ipt1" name="username" autocomplete="off"><span id="sp1"></span><br />        <span class="span1">密  码:</span><input type="password" id="ipt2" autocomplete="off"><span id="sp2"></span><br />        <span class="span1">确认密码:</span><input type="password" id="ipt3" name="password" autocomplete="off"><span id="sp3"></span><br />        <span class="span1">邮  箱:</span><input type="text" id="ipt4"  name="email" autocomplete="off"><span id="sp4"></span><br />        <button type="button" onclick="check()">提交</button>	</form></div></body></html>
登录后复制
登录后复制
登录后复制



提示这个错误
Uncaught ReferenceError: $ is not defined    27行

$是你jquery没引入吧

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
关于CSS思维导图的课件在哪? 课件
凡人来自于2024-04-16 10:10:18
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号