asp.net webform中submit按钮使用不当很容易犯的一个错误

webform中默认一个页面只能有一个form,有时submit按钮使用不当会产生一些奇怪的问题。

比如这是一个网站的头部搜索部分,前端人员把“搜索”按钮用<input type="submit" />处理,然后在js中文本框里按下回车键时,自动调用doSearch()函数,该函数可能类似下面这样:(只是表达一下大概的意思)

function doSearch(){
  window.location="search.aspx?w=abc";
  return false; 
}

“搜索”按钮的click事件中,用类似 onClick="doSearch()"来处理,本来这样处理也没什么不对,不管是在文本框中按下回车,还是点击“搜索”按钮都是ok的。但是如果遇到下面的情况,且二部分功能是不同的程序员来写时,就可能出问题:

另一个前端开发人员把“登录模块”加进来以后(注:“登录”按钮用的是服务端Button控件,即最终在html中也是submit按钮,单独点击“登录”按钮时,一切正常),但是在一个form中,在任何一个文本框上按下回车键时,相当于默认点击了第一个submit按钮(即提交表单),这样在登录过程中,当用户输入完邮箱、密码、验证码,按下回车键的时候,实际上会触发“搜索”按钮的click行为,而搜索按钮在上面的处理中,调用的是doSearch()方法,最终页面会引导到搜索页上,并未按原来的意图提交,导致登录不了。

“各自单独的模块”独立测试时都是正常的,但是整合在一起就容易出问题了,所以说这种错误容易犯,我的建议是对于webform中的开发,不是必须要submit的场景,尽量避免用submit按钮。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏葡萄城控件技术团队

用WijmoJS搭建您的前端Web应用 —— React

在本系列文章中,我们已经介绍了Angular和Vue框架下 WijmoJS 的玩法。

10230
来自专栏Bug生活2048

微信小程序版博客——图片相关处理

前面提到,小程序服务端的数据是基于Ghost的公共API的,在设计首页文章列表时,为了美观加上了头图,但是服务端没有提供对应的字段(头图url)。

39020
来自专栏较真的前端

使用神器eruda 进行移动端调试

38030
来自专栏林德熙的博客

win10 uwp 读写csv 使用库 Chilkat

CSV是一种通用的、相对简单的文件格式,被用户、商业和科学广泛应用。最广泛的应用是在程序之间转移表格数据,而这些程序本身是在不兼容的格式上进行操作的(往往是私有...

14810
来自专栏守望轩

Visual Studio 2008 每日提示(七)

#061、增大编辑器工具提示的字体 原文地址:http://blogs.msdn.com/saraford/archive/2007/10/15/did-yo...

27740
来自专栏WindCoder

Ubuntu14.04下使用fcitx安装搜狗及双拼输入法

之前Ubuntu打不开了,重新装了一遍,顺便把一些东西直接记录下来,省得日后再四处爪哇。。。

50730
来自专栏前端人人

React第三方组件4(状态管理之Reflux的使用①简单使用)

本教程总共5篇,每日更新一篇,请关注我们!你可以进入历史消息查看以往文章,也敬请期待我们的新文章! 1、React第三方组件4(状态管理之Reflux的使用①...

33380
来自专栏Android机动车

使用Fiddler抓取bilibili安卓客户端口数据并分析http、https

经过了一个多星期的时间(自2017/10/16开始),到目前(2017/10/24)为止,项目框架的搭建已基本完成、还完成了首页中「直播」与「推荐」Fragme...

29310
来自专栏知晓程序

「大众点评点餐」小程序开发经验 04:逻辑层

继上次谈到了视图层开发经验,本期,知晓程序(微信号 zxcx0101)想要和大家分享大众点评点餐小程序开发中,逻辑层开发的经验。

13810
来自专栏腾讯NEXT学位

小程序初学者必读——小程序的简单入门

23830

扫码关注云+社区

领取腾讯云代金券