js_sumbit&onsubmit

submit与onsubmit

发生顺序:onsubmit -> submit

 

1.阻止表单提单:

<script>

function submitFun()

{

//逻辑判断

return true; //允许表单提交

//逻辑判断

return false;//不允许表单提交

}

</script>

<form οnsubmit=" reture submitFun();"> //注意此处不能写成 οnsubmit="submitFun();" 否则将表单总是提交的

</form>

 

2.onsubmit()与submit() :

 

<script>

function fun() { alert("form_submit"); }

</script>

<form οnsubmit="fun()">

<input type="submit" id="aaa" value="submit">   <!--能弹出form_submit-->

<input type="button" id="bbb" value="onclick_submit" οnclick="document.forms[0].submit()">

<!-- 表单会提交,但是不会执行fun() 原因是 onsubmit事件不能通过此种方式触发(在IE环境) 直接用脚本document.formName.submit()提交表单是不会触发表单的onsubmit()事件的 -->

<input type="button" id="bb1" value="onclick_onsubmit" οnclick="document.forms[0].onsubmit()"> <!--会触发fun()函数-->

</form>

 

我们还可以用(attachEvent() / addEventListener() )模拟触发器的方式实现onsubmit效果,语法如下

有时候当某一对象的某一事件被触发时,它所要执行的程序可能是一大串,有可能是要呼叫某一函数,也有可能同时又要呼叫另一函数。 

document.getElementById("btn").onclick = method1; 

document.getElementById("btn").onclick = method2; 

document.getElementById("btn").onclick = method3; 

如果这样写,那么将会只有medhot3被执行 

在IE中使用addachEvent , 

var btn1Obj = document.getElementById("btn1"); 

//object.attachEvent(event,function); 

btn1Obj.attachEvent("onclick",method1); 

btn1Obj.attachEvent("onclick",method2); 

btn1Obj.attachEvent("onclick",method3); 

执行顺序为method3->method2->method1 

Mozilla系列中需要使用 addEventListener 

var btn1Obj = document.getElementById("btn1"); 

//element.addEventListener(type,listener,useCapture); 

btn1Obj.addEventListener("click",method1,false); 

btn1Obj.addEventListener("click",method2,false); 

btn1Obj.addEventListener("click",method3,false); 

执行顺序为method1->method2->method3 

看看gmail的代码 

var Ka=navigator.userAgent.toLowerCase(); 

var rt=Ka.indexOf("opera")!=-1; 

var r=Ka.indexOf("msie")!=-1&&(document.all&&!rt); 

function Zl(a,b,c){

if(r){

a.attachEvent("on"+b,c)

}else{

a.addEventListener(b,c,false)

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值