2011-03-10 74 views
0

我把下面的方法在我的application.js文件。JS方法不會被調用

var formhandler = function() { 
    var submit, isSubmit = false; 
    submit = function(){ 
       // flop and return false once by the use of operator order. 
    return isSubmit != (isSubmit = true); 
    }; 
    return { 
     submit: submit 
     }; 
}(); // <-- use direct invcation to keep the internal variables "static" 

它工作正常,如果我直接寫在窗體的標題部分。但是,當我把它放在application.js文件中時,它不會被調用或找到。

我應該如何調用在applcation.js功能。

我也有佈局的頭以下。

<%= javascript_include_tag :all, :cache => true, :recursive => true %>`enter code here` 
+0

你有沒有嘗試添加警報或執行console.log您的application.js文件,以驗證它是正裝? – tilleryj 2011-03-10 07:38:34

+0

我這樣做,是的它在工作的application.js。現在我只知道,它不是一個真正做什麼是應該做的是防止用戶提交多次 – chell 2011-03-10 08:43:51

+0

您是否嘗試過加入的console.log(isSubmit!=(isSubmit =真))到您提交的功能驗證返回值是正確的。如果是這樣,你的問題可能是你如何將處理程序附加到表單。 – tilleryj 2011-03-10 18:44:02

回答

1

我`噸完全明白你的問題,所以我可能是錯的,但作爲一個備註:

在這裏你總是返回false:

return isSubmit != (isSubmit = true); 

我想應該是

return isSubmit != (isSubmit == true); 
+0

感謝您的輸入。我也嘗試過,它似乎仍然允許用戶提交很多次。 – chell 2011-03-10 08:45:35