- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这个项目已经从一辆简单的 99 年福特 F-150 变成了 the Homer .
我有带有 GridView 的控件,带有用于数据输入的文本框。
页面上的所有用户控件都位于 AJAX 更新面板中。
用户在数据库列、预算实体或他们想要包含在报告中的其他一些财务内容中键入内容。
gridview 中的文本框设置了 autopostback = true。
背景信息过长
当用户离开文本框时,在回发期间(由 onTextChanged 触发),我会在服务器上对其条目进行一些验证 - 正则表达式,他们是否有权访问该列,该列是否已锁定等。如果失败,我在文本框旁边放置了一条错误消息。如果通过,我会清除代码旁边曾经出现的所有标题或错误。
如果他们按 Tab 键跳出框,而不是转到 GridView 中的下一个文本框,则焦点会从回发中丢失。
因此,为了解决这个问题,如果他们通过 Tab 键离开 tb,我还需要弄清楚他们所在的文本框或 gridviewrow(如果它们不在最后一行),验证和标记后,将焦点放在下一行的文本框上。
我不知道如何在 ontextchanged 中找到什么导致我离开文本框,所以我想使用 javascript onkeyup 来测试按下的键,然后找到下一个框等等,但是 ontextchanged 首先触发,然后 js 永远不会触发,而且,由于控件都是 AJAXed,javascript 找不到文本框,因为当您进入页面时,所有内容都折叠起来(人们希望折叠和展开的要求东西),因此当它展开时,所有"new"文本框都位于页面源代码中的 View 状态内容中,而不是位于 javascript 可以看到它们的位置。
问题
所以我想知道我是否可以在javascript中添加一个onblur来触发回发,我可以在其中进行验证等,并且1)包含按下的按键或在事件中将其从发件人中挑选出来或2)使用 onkeyup 跟踪 onblur 并以某种方式找出网格上下一个文本框并将焦点放在那里。
或者,是否有另一种基于 .NET 的方法可以实现此目的?至于把整个事情推倒重来,我不能把它卖给老板,我已经到了不归路了。
最佳答案
除了与文本框关联的错误消息/标题之外,更改一个文本框值是否会更改屏幕上的其他任何内容?
如果没有,我的第一个想法是停止使用 AutoPostBack 并更改为与 onblur 事件 Hook 的页面方法。这应该可以解决您的选项卡问题,并减少客户端和服务器之间的来回。
Here's a blog post讨论更新面板和页面方法;该博客还包含许多有关在 .net、ajax 等中使用 javascript 的有用帖子。
关于asp.net - 在离开 asp :textbox. 时,我必须做两件看似相互排斥的事情,请帮我澄清一下,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2691623/
我正在生成几个像这样的 svg 图像: text { font-family: Helvetica; font-size: 60px; paint-
我是一名优秀的程序员,十分优秀!