一个表单:
1
自己写X()、Y()函数,我们会发现,这几个函数的执行顺序
1) onclick: Y();
2) onsubmit: X();
3) submit();
也就是说
只要 onclick 未 return false 那么就继续执行 onsubmit
只要 onsubmit 未return false 那么表单就被提交出去了
另外一点写法上注意一定要 “return X();” 才能取得函数的返回值,否则只是调用函数,返回值未被传递
正确写法: <input type=submit οnclick=”return X();”> //X() 返回false后,form的submit会被终止
错误写法: <input type=submit οnclick=”X()”> //X() 返回false后未传递给onclick事件,form的submit会继续
附上JS event的触发事件表:
HTML标记 | 事件 | 当....时候触发此事件 |
---|---|---|
<A> | onClick | 用户点击超链接 |
onMouseOver | 鼠标移动到超链接上边 | |
onMouseOut | 鼠标离开超链接 | |
<AREA> | onMouseOver | 鼠标移动到图片 map 区域上边 |
onMouseOut | 鼠标离开图片 map 区域 | |
<BODY> | onBlur | 包含这个页面的窗口 window 或 帧 frame 失去焦点的时候 |
onFocus | 包含这个页面的窗口 window 或 帧 frame 获得焦点的时候 | |
onLoad | 这个页面下载完成的时候 | |
onUnload | 退出这个页面的时候 | |
<FORM> | onReset | 按下 RESET (重置) 按钮的时候 |
onSubmit | 按下 SUBMIT (提交) 按钮的时候 | |
<IMG> | onAbort | 下载图片的过程被用户手动停止的时候 |
onLoad | 图片下载完成的时候 | |
onError | 在客户端接收图片时有错误发生 | |
<INPUT> with TYPE="BUTTON" 或 "CHECKBOX" 或 "RADIO" 或 "RESET" | onClick | 鼠标点击时候 |
<INPUT> with TYPE="TEXT" 或 <TEXTAREA> | onBlur | 获得焦点的时候 |
onChange | 输入框/文本框中的文本被改变的时候 | |
onFocus | 获得焦点的时候 | |
onSelect | 输入框/文本框中的文本被选中 (高亮显示) 的时候 | |
<INPUT> with TYPE="SELECT" | onBlur | 失去焦点的时候 |
onChange | 用户改变了下拉列表框中的选择 | |
onClick | 用户使用鼠标点击的时候 | |
onFocus | 获得焦点的时候 |