2011-02-11 12 views
0

我在javascript中有以下功能。它適用於除Firefox以外的所有瀏覽器。此瀏覽器中的substring關鍵字似乎存在一些問題。在字符串操作的Firefox中的JavaScript錯誤

function EvalMonthYear() { 

    var RawMonth = $.trim($('#MonthList').val()); 
    var SpacePosition = RawMonth.lastIndexOf(' ') + 1; 

    var TheYear = $.trim(RawMonth.substring(SpacePosition, RawMonth.lenght)); 
    var TheMonth = IndexOfMonth($.trim(RawMonth.substring(0, SpacePosition))); 
}; 

MonthList包含月/年的字符串,如2011年1月或2009年5月的目標是填補變量的某些地方和TheMonth使其作品在每個瀏覽器。

如果您遇到了這個問題,並且可以想出一個好的解決方案,這將會有所幫助。

謝謝。

回答

1

試試這個:

function EvalMonthYear() { 
    var RawMonth = $.trim($('#MonthList').val()); 
    var MonthYear = RawMonth.split(" "); 

    var TheYear = MonthYear[1]; 
    var TheMonth = MonthYear[0]; 
}; 
+0

非常優雅的工作。 – frenchie 2011-02-11 04:12:10

4

也許你想重寫

RawMonth.lenght 

RawMonth.length 

你原來的代碼在Firefox 4B11對我的作品,所以它可能是一個問題3.6。我猜你的拼寫錯誤在大多數瀏覽器中都有效,因爲RawMonth.lenghtundefined,這與未傳入參數類似。 (這是一個有點不同,如果你檢查arguments陣列。)

+0

啊!確實:)一個瘋狂的bug。 – frenchie 2011-02-11 04:13:21