2011-03-30 59 views
0

我有一個按鈕,它在按鈕點擊事件的網格視圖中添加新行。一行包含兩個文本框和兩個下拉列表。但是在添加新行之前,我想檢查第一行中的所有控件是否已填充。因此,我想調用按鈕點擊事件的Java腳本。那麼我怎麼能調用按鈕上的java腳本,它已經在網格視圖中處理了一個事件新行?如何調用按鈕上的java腳本單擊事件來處理事件添加新行?

+0

也請發表您的代碼。你是說你想要將兩個事件處理程序綁定到按鈕? – 2011-03-30 08:23:30

+0

請張貼您的HTML和任何當前的JavaScript來澄清您的問題。 – Ant 2011-03-30 08:23:52

回答

0

的解決方案是鏈中的呼叫。有兩種方法可以做到這一點:

  1. 您可以使用該按鈕的onclick財產在函數定義:

    function chainOnClick(button, func) { 
        var origFunc = button.onclick; 
        var tmp = function(e) { 
         if(func(e)) { 
          return origFunc(e); 
         } 
         return false; 
        } 
        button.onclick = tmp; 
    } 
    

    請注意,我發現,不可靠的,如果沒有onclick裝;出於某種原因,該模式不適用於瀏覽器的默認「onclick」處理程序。

  2. 您可以將處理點擊的代碼移動到函數中(您可能已經擁有)。現在,你寫一個驗證功能和安裝這個新的單擊處理:

    function validatedOnClick(e) { 
        if(validateLastRow(e)) { 
         return originalClickHandler(e); 
        } 
        return false; 
    } 
    
+0

謝謝亞倫,但我不知道如何使用這些功能... – 2011-03-31 05:28:58

+0

我不能幫你「無法理解」。請問具體問題。 – 2011-03-31 11:43:49

3

您可以定義一個javascript函數,它將檢查是否所有控件都已填充,然後是否需要完成添加新行。

例:

function example() 
{ 
    if(controls filled) 
add a new row; 
} 

然後

<button type="button" onclick="example()">Click Me!</button> 
相關問題