2012-09-13 65 views
0

我正在使用帶有數據綁定(ObjectDataSource)的表單(FormView),並且我的所有輸入字段都使用了'<%# Bind("field") %>'Form僅在輸入丟失焦點時保存

一切工作正常,但我有兩個問題(這是我發現的各種提示,大約像使用this.Validate().EndEdit() - 但沒有似乎工作):

  • 記錄僅保存離開輸入字段,以便其以後失去重點

假設我有一個ID爲Name的文本框並輸入「George」。當我選擇下一個文本框或當我點擊其他地方並單擊保存時,所有內容都會保存。但是當我將焦點放在文本框中時,值不會被保存。這是爲什麼發生?我可以用什麼魔法來規避這個問題(JavaScript來拯救?)。

  • 我通過Javascript設置了文本框的字段值(element.value)(在選擇組合框中的內容時)。

與上面相同的問題適用,只有當我給文本框焦點和標籤輸出值被保存。這就產生了一個問題,我只希望用戶在組合框中選擇一些東西(文本框會相應地更新),然後繼續前進 - 我不希望用戶以後再點擊文本框並重新制表。


編輯:

我現在已經解決了由通過Javascript(textbox.focus();)設置聚焦到我的文本框和右側設置焦點後回到組合框(combobox.focus();),並且是卓有成效的第二個問題 - 這對我來說似乎相當ha,,不是嗎?


我假設這是相當普遍的,但我強大的谷歌福並沒有幫助我找到一個簡單的解決方案。

+1

您是否嘗試強制將焦點放在正在單擊的按鈕上,然後提交? –

+0

不,但我可以做到這一點我填寫JS的一個領域 - 一般的保存問題依然存在。 –

回答

0

在使用DataGridView控件時,Winforms開發中可能會出現類似的問題。我通常會在提交按鈕的Click事件中附加一些邏輯,以使DataGridView得到驗證。我懷疑類似的解決方案會在這裏爲你工作。

+0

在那裏,做到了。我的保存按鈕有一個'this.Validate()',我在UserControl上添加了一些'Page.Validate()',它包含了要保存的字段。 –

相關問題