2023年6月21日发(作者:)
js中returnfalse(阻⽌)的⽤法return false 阻⽌表单提交不起今天这个问题困扰了我很久,在⽹上找了很多资料,基本上关于onsubmit=return false有以下⼏点要注意的地⽅:
1. return 的返回值问题,函数中return⼀旦有返回值,就不在执⾏下⾯的语句,直接跳到函数调⽤的地⽅。如下PHP函数代码,第⼀个if条件符合则函数值返回布尔型false,可以返回⼀个函数的值,并且跳出这个函数;只要遇到return语句,程序就在那⼀⾏代码停⽌执⾏,执⾏控制将⽴刻返回到调⽤该程序的代码处。
复制代码 代码如下:function chkinput(form)
{
if(=="")
{
alert("请输⼊⽂章标题!");
();
return false; //注意不能写成 return(false); 2009.12.15
}
if(=="")
{
alert("⽂章正⽂不能为空@!!");
();
return false;
}
return true;
}
的onsubmit属性的触发问题,onsubmit 事件什么时候触发?onsubmit 事件会在表单中的确认按钮被点击时发⽣。不触发的原因有⼀般如下:
A. onsubmit属性的触发时机是在form⽤input:submit这样的button提交时才会触发,否则不会触发。如果是⽤⼀个普通input:button,则在onclick属性中指定⼀个javascript函数,在这个函数⾥⾯再执⾏form的submit()函数,⽽不是onsubmit属性。
B. 先看⼀段代码:
复制代码 代码如下:
点击submit按钮该表单并未提交。因为有⼀处应该改为(红⾊字体)
原来onsubmit属性就像是
submitAction ⽅法⾥⾯有提交表单的动作。如果不加 return false,
在执⾏完 submitAction 之后,submit 按钮还会继续执⾏它的默认事件,就会再次提交表单。这可能就是很多错误的根源。
的确,return false的含义不是阻⽌事件继续向顶层元素传播,⽽是阻⽌浏览器对事件的默认处理。你可以这样试验:
⾸先将所有的js脚本注释掉,在IE浏览器中尝试拖动⼀下图⽚,你会发现⿏标会成为禁⽌操作的样式,图⽚是被禁⽌拖动的,它是浏览器针对mousemove事件所提供的默认⾏为。
return false就是为了去掉这种⾏为,否则就会出现你描述的中断事件连续执⾏。
另外,和return false等效的语句为:
Value = false,
你可以把return false替换为此语句并进⾏验证。
最后说明⼀下,此种⽅式只适⽤于IE浏览器。
在js中return false的作⽤⼀般是⽤来取消默认动作的。⽐如你单击⼀个链接除了触发你的
onclick时间(如果你指定的话)以外还要触发⼀个默认事件就是执⾏页⾯的跳转。所以如果
你想取消对象的默认动作就可以return false。return false应⽤⽐较多的场合有:
复制代码 代码如下:
2023年6月21日发(作者:)
js中returnfalse(阻⽌)的⽤法return false 阻⽌表单提交不起今天这个问题困扰了我很久,在⽹上找了很多资料,基本上关于onsubmit=return false有以下⼏点要注意的地⽅:
1. return 的返回值问题,函数中return⼀旦有返回值,就不在执⾏下⾯的语句,直接跳到函数调⽤的地⽅。如下PHP函数代码,第⼀个if条件符合则函数值返回布尔型false,可以返回⼀个函数的值,并且跳出这个函数;只要遇到return语句,程序就在那⼀⾏代码停⽌执⾏,执⾏控制将⽴刻返回到调⽤该程序的代码处。
复制代码 代码如下:function chkinput(form)
{
if(=="")
{
alert("请输⼊⽂章标题!");
();
return false; //注意不能写成 return(false); 2009.12.15
}
if(=="")
{
alert("⽂章正⽂不能为空@!!");
();
return false;
}
return true;
}
的onsubmit属性的触发问题,onsubmit 事件什么时候触发?onsubmit 事件会在表单中的确认按钮被点击时发⽣。不触发的原因有⼀般如下:
A. onsubmit属性的触发时机是在form⽤input:submit这样的button提交时才会触发,否则不会触发。如果是⽤⼀个普通input:button,则在onclick属性中指定⼀个javascript函数,在这个函数⾥⾯再执⾏form的submit()函数,⽽不是onsubmit属性。
B. 先看⼀段代码:
复制代码 代码如下:
点击submit按钮该表单并未提交。因为有⼀处应该改为(红⾊字体)
原来onsubmit属性就像是
submitAction ⽅法⾥⾯有提交表单的动作。如果不加 return false,
在执⾏完 submitAction 之后,submit 按钮还会继续执⾏它的默认事件,就会再次提交表单。这可能就是很多错误的根源。
的确,return false的含义不是阻⽌事件继续向顶层元素传播,⽽是阻⽌浏览器对事件的默认处理。你可以这样试验:
⾸先将所有的js脚本注释掉,在IE浏览器中尝试拖动⼀下图⽚,你会发现⿏标会成为禁⽌操作的样式,图⽚是被禁⽌拖动的,它是浏览器针对mousemove事件所提供的默认⾏为。
return false就是为了去掉这种⾏为,否则就会出现你描述的中断事件连续执⾏。
另外,和return false等效的语句为:
Value = false,
你可以把return false替换为此语句并进⾏验证。
最后说明⼀下,此种⽅式只适⽤于IE浏览器。
在js中return false的作⽤⼀般是⽤来取消默认动作的。⽐如你单击⼀个链接除了触发你的
onclick时间(如果你指定的话)以外还要触发⼀个默认事件就是执⾏页⾯的跳转。所以如果
你想取消对象的默认动作就可以return false。return false应⽤⽐较多的场合有:
复制代码 代码如下:
发布评论