【发布时间】:2012-09-13 19:34:29
【问题描述】:
我正在使用带有数据绑定 (ObjectDataSource) 的表单 (FormView),并且我的所有输入字段都使用 '<%# Bind("field") %>' 绑定。
一切正常,但我有两个问题(我发现了各种提示,例如使用 this.Validate() 或 .EndEdit() - 但似乎都没有用):
- 条目仅在离开输入字段后才会保存,因此会失去焦点
假设我有一个 ID 为 Name 的文本框,然后输入“George”。当我将选项卡转到下一个文本框时,或者当我单击其他地方并单击保存时 - 一切都已保存。但是当我将焦点放在文本框中时,值不会被保存。为什么会这样?我可以使用什么魔法来规避这个问题(JavaScript 来拯救?)。
- 我通过 Javascript 设置了文本框的字段值 (
element.value)(在组合框中选择某些内容时)。
与上述相同的问题适用,只有当我给文本框焦点和标签时,值才会被保存。这产生了一个问题,我只希望用户在组合框中选择某些内容(文本框会相应更新)并继续前进 - 我不希望用户之后点击文本框并再次跳出。
编辑:
我现在解决的第二个问题是通过 Javascript (textbox.focus();) 将焦点设置在我的文本框上,并在将焦点重新设置回组合框 (combobox.focus();) 之后解决了这个问题 - 这对我来说似乎相当骇人听闻,不是吗?
我假设这很常见,但我强大的 Google fu 并没有帮助我找到简单的解决方案。
【问题讨论】:
-
您是否尝试强制将焦点放在被点击的按钮上然后提交?
-
不,但我可以为我用 JS 填充的一个字段执行此操作 - 一般保存问题仍然存在。
标签: c# asp.net objectdatasource formview