2013-08-01 64 views
1
function addValueToList(elemlist,elemhidden,elemval,elemlab,elemcheck) { 
alert(elemlist); 

if ($chk($(elemlist)) && $chk($(elemhidden)) && $chk($(elemval)) && $chk($(elemlab)) && $chk($(elemcheck))) { 

    var value = $(elemval).getProperty('value'); 
    var label = $(elemlab).getProperty('value'); 
    var check = 0; 

    if (value != '') { 

     value = value + "||" + label; 
     if ($(elemcheck).checked) { 
      value = value + ' [default]'; 
      check = 1; 
      cleanOptions(elemlist); 
     } 

     if (editValue == null) {     
      addOption(elemlist,value,elemval,elemcheck); 
     } else { 
      if ($chk($(editValue))) { 
       $(editValue).setProperty('value',value); 
       $(editValue).setText(value); 
       editValue = null; 
      } 
     } 

     $(elemval).setProperty('value',''); 
     $(elemlab).setProperty('value',''); 
     $(elemcheck).checked = false; 

     buildHiddenField(elemlist,elemhidden); 

    } else { 
     window.alert("Value field cannot be empty !"); 
    } 

} else { 
    window.alert("addValueToList : Problem to retreive values "); 
} 
    } 

我從我的代碼中調用此函數。但是,當調用javascript時,js錯誤正在被捕獲。 「referenceerror,$ chk沒有定義」。我無法發佈全部js文件。這是造成問題。這個編碼中的$ chk是什麼?以及如何使這個錯誤免費....意味着,我有定義它在頂部?或者我該如何擺脫這個錯誤?

+0

它可能是一個全局定義的變量,如jquery'$' – DevZer0

+3

它是一個函數的引用。作爲一名開發人員,您需要**學習**如何編程,因爲您可以看到自己複製粘貼並不會讓您成爲更好的專家(請記住,您無法瞭解簡單的代碼) – zerkms

+1

@ DevZer0:...或在外部範圍內定義。 – zerkms

回答

3

據我所知,它是一個MooTools函數來檢查值是否存在(該值不是空的,並且不是假的或等價的),並且它根據給定的值返回真/假(無論它是真實與否)。

但是現在它已經被棄用了,所以如果你已經更新了你的MooTools庫,那麼它可能不會工作了,因爲他們已經決定不創建一個替代品。

唯一的另一種選擇是嘗試:

if(($(elemlist) && $(elemlist).length > 0) && ($(elemhidden) && $(elemhidden).length > 0) && ($(elemval) && $(elemval).length > 0) && ($(elemlab) && $(elemlab).length > 0){ 
    // Some code here 
} 
+0

「價值存在」 - 究竟是什麼意思? (使用JS的*真實*術語)是否存在'false'? '0'怎麼樣? 「 – zerkms

+0

」並且不是虛假或等同的「---」0「怎麼樣? – zerkms

+0

自從我使用MooTools已經很長時間了,所以我不記得它到底做了什麼,但是我認爲「不存在」是空的,未定義的(並且在非嚴格檢查時)false,0等 – DarkMantis

1

這是在全球範圍內的頁面的任何規定。

$chk = $;$chk = jQuery;

可以使用$jQuery,而不是$chk

希望這將有助於理解。

相關問題