2012-06-18 68 views
1

我在同一個xpage上有多個自定義控件的問題,並想知道是否有其他人看到相同的問題。xpage上的事件和multipe自定義控件的問題

以下是如何創建問題。

  1. 使用編輯框創建自定義控件。在編輯框的onChange事件中,只需獲取它的值並將其存儲在一個變量中。沒有什麼更多。

  2. 創建x頁面並在xpage上放置一個按鈕。使按鈕對SSJS執行某些操作,以便您知道按鈕就像在表單上設置字段值一樣。

  3. 將您在表單上創建的自定義控件放置一次。

  4. 顯示x頁面並更改xpage上某個輸入框的值。

發生在我身上的是按鈕只能在其他時間使用。如果自定義控件僅放置在x頁面上,則每次按鈕都有效。如果刪除編輯框中的onChange事件,則該按鈕每次都有效。

+0

發佈示例代碼,它更容易幫助你。 –

+0

您是否嘗試將onChange事件中的值分配給不同的變量(例如,使用客戶端ID作爲關鍵字)。它看起來像一個併發問題。 – stwissel

+0

它被簡單地分配了一個本地值var v = getComponent(「inputText1」)。getValue();.奇怪的是,按鈕事件將在您在編輯框中鍵入內容後按下「下一次」按鈕時發揮作用。換句話說,輸入一些東西,按下按鈕(不起作用),再次按下按鈕,然後它就起作用了。只要你不再在編輯框中輸入一些東西,按鈕就可以繼續工作。它發生在ie和ff中。 –

回答

1

這隻會發生,如果你的onchange事件中有SSJS正在進行全面刷新,並且你的按鈕正在進行部分刷新。如果你讓onchange事件部分刷新,它應該可以工作。另外,當你離開文本框時,它看起來像onchange事件被觸發,所以當你改變它時,不要離開,按下按鈕,它不會像你說的那樣工作。但它確實!它只是觸發了全文刷新文本框的onchange事件,因此從按鈕'跳過'事件(由於全面刷新,按鈕onclick事件將以某種方式得到一個新的id)。

+0

看起來就是這樣。爲什麼它首先是我不知道的。如果有某種符號,或者在設計器中更改顏色以讓您知道刷新,那肯定會很好。 –