2016-07-26 88 views
-1

我有一個表單,並試圖跟蹤用戶在此表單上所做的更改。 表格由單選按鈕,下拉菜單和文本區域組成,當用戶選擇第一個下拉菜單時,會加載該文本框。聲明一個全局變量並在其中存儲一個值使用javascript

然後我決定數一數。如果用戶再次選擇下拉菜單,這意味着第二次 事情發生了變化。

我希望能夠將結果= 1存儲在全局變量中,以便可以在同一頁面/同一視圖上使用另一個 函數。我的應用程序是mvc

如何在視圖上存儲此全局變量以便其他JavaScript函數可以使用它?這可能嗎?

  var counter = 0; 
       $("#MyPage") 
         .on("change", ":input", function() {    
          counter = counter + 1; 
          if (counter > 1) { 
           //This is the first time you are changing. 
           alert("Something has changed in index page");      
           var result = 1; 
          } 
       }); 
+0

我只是將日誌推送到一個數組,而不是維護一個計數器... – dandavis

+1

'window.foo = bar' – gcampbell

+0

您正在面對上述實現的問題是什麼? –

回答

-2

在前面只需使用result = 1,而不var

編輯:ssube是正確的,使用上面的方法。

+0

聲明一個函數以外的變量*不給它*給它全球範圍。它只是簡單地拾取它所聲明的模塊或腳本。這種混淆可能來自w3schools,它提供了非常差的(有時是錯誤的)示例。請不要將它們用作參考。 – ssube

+0

這個答案是對的,這只是一個很差的練習;暗示「隱式全局變量」,這通常是一個錯誤。 – dandavis

相關問題