onsubmit是form的默认方法,作用是判断是否可以submit。默认是返回true。
首先,表单执行submit时,会判断onsubmit的值是否为true,为true则提交,false则不提交
所以如果没有定义onsubmit; 相当于 <form onsubmit="return true">当<form acction="#" method="post" onsubmit="tijiao();"> 时,tijiao的返回值并不作为onsubmit方法的返回值,onsubmit并没有d返回值。因此默认为true,不管tijiao返回的是什么,所以会执行提交。<form acction="#" method="post" onsubmit="return tijiao();"> 而加了return后,会把tijiao的返回值作为onsubmit的返回值,因此可以用tijiao的返回值控制是否可以提交。

解决方案 »

  1.   

    fun() -----这是一个值
    return fun()-----这是一个语句onxxxx 是个事件,要执行一个js语句(动作)才有意义,执行一个值没有意义
    可以把onxxxx看作是onxxxx() {……},在花括号里面单纯填一个bool 值,这个onxxxx只是流过,没有效果,但写return bool就不同了进一步说,onxxxx 后面可以执行一批js语句,这些语句可以跟submit / 或xxxx 这个动作完全没关系也行
    譬如举个例:
    onsubmit="某个控件的属性display=none; return false;"
    这是什么效果?