input、button的不同type值在ajax提交表单时导致的陷阱


Posted in Javascript onFebruary 24, 2009

今天在做利用connection 作表单提交过程中发现,标签"input"跟"botton"中的type属性设置原来也是一门学问。
在开发过程中,为了使html代码更加整洁,我首先利用YAHOO.util.Event.addListener(obj, "click", callback)类加载"click"事件来提交表单,YAHOO.util.Connect.asyncRequest('POST')方式来上传表单数据,如果表单信息不正确,那么作返回处理。而提交的按钮我采用的是<button type="submit">提交</button>。
这时发现除了IE6能够对我的表单数据作出正确的处理外,FIREFOX包括IE7都不能对我的错误处理作出回应(callback方法中,正对错误的处理方式是:只要一碰到错误,那么就通过return false的方式返回)。
这时在我的思路里想的是,在语句中提交表单数据前我已经做了返回处理,可页面怎么还是给刷新了呢。
晚上回到家里再次对今天碰到的问题做测试,结果发现,我忽略了一点,数据也的确是有提交了,并且在地址栏中可以明确地看到各种数据,而事实也证明,数据肯定是被提交了,于是想到了我的按钮,按钮的类别设置是"submit",之前在写代码时,都是直接在"input"或者"button"中,如果类别设置为"submit"时,都是这样写的onclick="return fun();"或者onclick="fun(); return false;";这自然是不会出现问题,怪就怪在,addListener类的值并不是直接影响到按钮的,一点击按钮,自然也就会提交数据了。
惨痛啊~~~~
附:button默认type值为submit,因此最好标识下类别!!!谨记!

Javascript 相关文章推荐
JS定义回车事件(实现代码)
Jul 08 Javascript
js 获取元素下面所有li的两种方法
Apr 14 Javascript
如何让你的Lightbox支持滚轮缩放及Base64图片
Dec 04 Javascript
jQuery中has()方法用法实例
Jan 06 Javascript
简介JavaScript中的unshift()方法的使用
Jun 09 Javascript
javascript的列表切换【实现代码】
May 03 Javascript
详解Node.js项目APM监控之New Relic
May 12 Javascript
基于node.js express mvc轻量级框架实践
Sep 14 Javascript
js判断输入框不能为空格或null值的实现方法
Mar 02 Javascript
JavaScript实现创建自定义对象的常用方式总结
Jul 09 Javascript
vue excel上传预览和table内容下载到excel文件中
Dec 10 Javascript
Vue 数据绑定的原理分析
Nov 16 Javascript
csdn 博客的css样式 v3
Feb 24 #Javascript
javascript web对话框与弹出窗口
Feb 22 #Javascript
JavaScript基本概念初级讲解论坛贴的学习记录
Feb 22 #Javascript
javascript eval函数深入认识
Feb 21 #Javascript
JavaScript 判断浏览器类型及版本
Feb 21 #Javascript
JavaScript 调试器简介
Feb 21 #Javascript
用jQuery简化JavaScript开发分析
Feb 19 #Javascript
You might like
一个简单的php实现的MySQL数据浏览器
2007/03/11 PHP
PHP保存带BOM文件的方法
2015/02/12 PHP
PHP错误和异常处理功能模块示例
2016/11/12 PHP
Thinkphp 中 distinct 的用法解析
2016/12/14 PHP
解决 firefox 不支持 document.all的方法
2007/03/12 Javascript
JS backgroundImage控制
2009/05/19 Javascript
Javascript函数的参数
2015/07/16 Javascript
js仿苹果iwatch外观的计时器代码分享
2015/08/26 Javascript
每天一篇javascript学习小结(Date对象)
2015/11/13 Javascript
js 动态添加元素(div、li、img等)及设置属性的方法
2016/07/19 Javascript
Vue.JS入门教程之事件监听
2016/12/01 Javascript
JS表单验证方法实例小结【电话、身份证号、Email、中文、特殊字符、身份证号等】
2017/02/14 Javascript
JS实现图片放大镜插件详解
2017/11/06 Javascript
nodejs读取并去重excel文件
2018/04/22 NodeJs
node.js事件轮询机制原理知识点
2019/12/22 Javascript
JQuery中DOM节点的操作与访问方法实例分析
2019/12/23 jQuery
vue select 获取value和lable操作
2020/08/28 Javascript
微信小程序组件生命周期的踩坑记录
2021/03/03 Javascript
打包发布Python模块的方法详解
2016/09/18 Python
Python多线程扫描端口代码示例
2018/02/09 Python
python assert的用处示例详解
2019/04/01 Python
django框架使用方法详解
2019/07/18 Python
django实现模板中的字符串文字和自动转义
2020/03/31 Python
Django数据库迁移常见使用方法
2020/11/12 Python
详解基于Facecognition+Opencv快速搭建人脸识别及跟踪应用
2021/01/21 Python
一款利用html5和css3实现的3D滚动特效的教程
2015/01/04 HTML / CSS
智利最大的网上商店:Linio智利
2016/11/24 全球购物
Yahoo的PHP面试题
2014/05/26 面试题
Java里面StringBuilder和StringBuffer有什么区别
2016/06/06 面试题
应用电子专业学生的自我评价
2013/10/16 职场文书
战友聚会策划方案
2014/06/13 职场文书
幼师辞职信怎么写
2015/02/27 职场文书
生日宴会家属答谢词
2015/09/29 职场文书
Mysql Show Profile
2021/04/05 MySQL
node.js如何自定义实现一个EventEmitter
2021/07/16 Javascript
PyTorch device与cuda.device用法
2022/04/03 Python