2011-02-11 2 views
0

javascript에 다음 함수가 있습니다. 파이어 폭스를 제외한 모든 브라우저에서 작동합니다. 이 브라우저의 하위 문자열 키워드에 몇 가지 문제가있는 것으로 보입니다.문자열 조작으로 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는 목표는 모든 브라우저에서 작동하도록 변수 TheYear 및 TheMonth을 채우기 위해 1 월 2011 년 2009 년 5 월 같은 달/년 문자열이 포함되어 있습니다.

이 문제가 발생하여 좋은 해결책이라고 생각하면 도움이 될 것입니다.

감사합니다.

답변

1

이 시도 :

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

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

주위에 매우 우아한 작품. – frenchie

4

은 아마 당신은 원래 코드는 나를 위해 파이어 폭스 4B11에서 작동

RawMonth.lenght 

RawMonth.length 

로 재 작성하려면, 그래서 3.6에 문제가있을 수 있습니다. RawMonth.lenghtundefined이기 때문에 오타가 대부분의 브라우저에서 작동하는 것으로 추측됩니다. 이는 인수를 전달하지 않는 것과 유사합니다. (당신이 arguments 배열을 검사 할 경우는 조금 다릅니다.)

+0

아! 참으로 :) frenchie 버그. – frenchie

관련 문제