本文实例讲述了ASP.NET基于Ajax的Enter键提交。分享给大家供大家参考,具体如下:

近日遇到一个Enter键的问题,总结下:

1. 首先复习下html form对Enter的响应,不同的浏览器对Enter的处理略有不同,这里采用IE7

A. html form只有一个TextBox, 没有submit按钮, 点Enter 提交form.

B. >1个TextBox, 没有submit按钮, 点Enter ,form没有响应。

C. 页面有一个(或多个)submit按钮, 点Enter, 触发第一个submit 按钮click。

2. ASP.NET 中的Enter键

ASP.NET 2.0在form上提供了defaultbutton属性。

3. Master page下的defaultbutton.

在page中Page_Load中设置

protected void Page_Load(object sender, EventArgs e)

{

if (!this.Page.IsPostBack)

{

this.Page.Master.Page.Form.DefaultButton = this.BtnSave.UniqueID;

4. Ajax下的defaultbutton

Ajax的局部刷新破坏了defaultbutton的实现。

A. ASP.NET的defaultbutton的实现。

在html中添加WebForm_FireDefaultButton方法。

WebForm_FireDefaultButton的实现:

var __defaultFired = false;

function WebForm_FireDefaultButton(event, target) {

if (!__defaultFired && event.keyCode == 13 && !(event.srcElement && (event.srcElement.tagName.toLowerCase() == "textarea"))) {

var defaultButton;

if (__nonMSDOMBrowser) {

defaultButton = document.getElementById(target);

}

else {

defaultButton = document.all[target];

}

if (defaultButton && typeof(defaultButton.click) != "undefined") {

__defaultFired = true;

defaultButton.click();

event.cancelBubble = true;

if (event.stopPropagation) event.stopPropagation();

return false;

}

}

return true;

}

B. 问题是Ajax中js变量 __defaultFired 不会更新回false,造成default button失效。

C. 解决办法

不一而同,自己设置

__defaultFired=false;

希望本文所述对大家asp.net序设计有所帮助。

ajax 提交 .net ispostback不执行,ASP.NET基于Ajax的Enter键提交问题分析相关推荐

  1. datetime 索引_【免费毕设】ASP.NET基于Ajax+Lucene构建搜索引擎的设计和实现(源代码+论文)...

    点击上方"蓝字"关注我们目录 系统设计 4.1 搜索引擎模型 模型包括爬虫.索引生成.查询以及系统配置部分.爬虫包括:网页抓取模块.网页减肥模块.爬虫维持模块.索引生成包括:基于文 ...

  2. ajax原生为什么else会执行2次,关于Ajax,明明传过去的值是1,可不知道为什么就是else起作用?...

    login.js var xmlhttp; //定义XMLHttpRequest对象 function createXmlHttpRequestObject() { //如果在internet Exp ...

  3. ASP.net 基于Ajax 站内短信即时查询的思路

    站内短信收发方面没有什么可说的,关键是在用Ajax做即时查询的时候碰到了些问题,昨晚终于解决了!同时测试通过! 在数据库设计上面,基本上要设计三个表, 1.短信发送 2.短信收取 3.状态表 整个数据 ...

  4. 谈谈Enter回车键提交表单那些事

     我们在做系统前端的时候,往往会用到form标签,采用jquery插件做表单验证.我们信誓旦旦的一位把一切都做好的时候,并且检查一遍又一遍的时候,意向不到的事情发生了,也许是出于一种意外,而这种意 ...

  5. 基于ajax毕业设计题目50例

    基于ajax毕业设计题目1-10题 1.基于AJAX的Web应用构件组装技术及工具 2.基于AJAX技术对Web考试系统性能改进研究与实现 3.基于AJAX技术协作知识建构学习平台的研究与设计 4.基 ...

  6. 在IE9浏览器下面按enter键会提交两次

    在一个页面有两个.keydown方法.在IE9浏览器会出现按enter键提交两次方法, 但是如果在提交的方法后面加上return false; 就不会提交两次了.

  7. layui表单提交使用form.on(‘submit(sub)‘,function (){}) 使用ajax请求时回调不执行的原因及解决方法

    layui表单提交使用form.on('submit(sub)',function (){}) 使用ajax请求时回调不执行的原因及解决方法 参考文章: (1)layui表单提交使用form.on(' ...

  8. ajax回调函数提交表单,MVC3中ajax提交表单无法执行success回调函数,怎么办?

    js代码 function AjaxInitForm(formId, btnId, isDialog, urlId){ var formObj = $('#' + formId); var btnOb ...

  9. asp.net jquery.Ajax() 方法调用后台方法

    利用JQuery的$.ajax()可以很方便的调用asp.net的后台方法. 先来个简单的实例热热身吧. 1.无参数的方法调用 asp.net code: view plaincopy to clip ...

最新文章

  1. 苏宁宣布二度涨薪!平均涨幅31%,最高涨幅高达150%!网友:羡慕哭了!苏宁员工:不是全员,跟社招无关!...
  2. Android开发之高德地图定位成功返回的定位信息
  3. android studio开启multiDexEnabled后依然出现超出方法数的问题
  4. Python学习---Python的框架基础学习
  5. cmake 指定平台编译arm64_Arm V7 V8处理器编译Target小提示
  6. 台式计算机cpu允许温度,台式机cpu温度多少正常 台式机cpu正常温度
  7. Nacos @RefreshScope 配置不生效问题
  8. 赋值运算和赋值表达式
  9. HTML5 之 Form 标签
  10. 数据分析 - 单表简单查询
  11. Windows终端工具——Hyper使用及配置
  12. 2020年茶艺师(中级)多少分及格及茶艺师(中级)考试APP
  13. 我的世界java边境之地_我的世界:前往边境之地的9个“诡异”现象!阳光也会被吞噬?...
  14. js作为websocket client,服务用java 点对点、一对多聊天
  15. 【数据结构】二叉树的非递归遍历
  16. Android安卓应用程序窗口化
  17. 赵丽颖、冯绍峰的官宣炸了微博的高并发系统!
  18. 蚂蚁金服总裁胡晓明:科技如何驱动金融从离线走向在线
  19. 常用字体的unicode表示
  20. Aigtek—浅谈线束测试仪的重要性

热门文章

  1. C# 格式化字符串 String.Format
  2. Vue介绍-Vue简单应用-Vue基本用法
  3. java 8 list和数组之间的相互转换
  4. 手把手教你--JAVA微信支付(H5支付)
  5. Android程序杀死自己的进程和其他程序进程方法
  6. java导出excel文件名_怎么解决java导出excel时文件名乱码
  7. php按城市显示搜索结果,搜索结果页(通过数据库搜索)
  8. 创业冲突的五种解决方法是_失眠原因不同,中医五种调理方法解决问题!
  9. Nginx----高级
  10. 单点登录 之 OAuth