标题: Js实现只允许表单提交一次
时间: 2014-01-17
<HTML>
<HEAD>
<TITLE>只允许表单提交一次</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<SCRIPT language=JavaScript>
<!--
function MM_goToURL() { //v3.0
var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}
function JM_cc(ob){
var obj=MM_findObj(ob); if (obj) {
obj.select();js=obj.createTextRange();js.execCommand("Copy");}
}
function MM_findObj(n, d) { //v4.0
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && document.getElementById) x=document.getElementById(n); return x;
}
//-->
</SCRIPT>
</HEAD>
<BODY id=all text=#000000 bgColor=#336699>
<script>
function submitonce(theform){
//if IE 4+ or NS 6+
if (document.all||document.getElementById){
//screen thru every element in the form, and hunt down "submit" and "reset"
for (i=0;i<theform.length;i++){
var tempobj=theform.elements[i]
if(tempobj.type.toLowerCase()=="submit"||tempobj.type.toLowerCase()=="reset")
//disable em
tempobj.disabled=true
}
}
}
</script>
<form name="form2" method="post" action="" onSubmit="submitonce(this);return false">
<input type="text" name="textfield">
<input type="submit" name="Submit" value="提交">
<input type="reset" name="Submit2" value="重设">
提示:按下提交按钮后,看看有什么不同?
</form>
</BODY>
</HTML>
Js实现只允许表单提交一次,避免因多次提交表单造成的数据重复,加入本效果后,当第一次点击提交后,提交按钮变灰色,无法再点击,运行提示:按下提交按钮后,看看有什么不同? <html>
<head>
<title>防止表单多次发送</title>
<script language="javascript">
<!--
send = false;
function check(){
if(!send){
alert("发送表单!");
send = true;
return true;
}else{
alert("你已经发送过一次表单了,不能再发送!");
return false;
}
}
-->
</script>
</head>
<body>
<form name="form1" action="http://www.baidu.com" onSubmit="return check()">
姓名:<input type="text" name="name">
<input type="submit" value="发送">
</form>
</body>
</html>
其实都是一个效果第一个考虑了兼容性『回复列表(1|隐藏机器人聊天)』