2012-12-19 1 views
15

MVC 페이지는 사용자에 따라 문화권이 있습니다. 검색 옵션 (DueDate로 검색 가능)에서 DueDate 텍스트 상자에 마스크가 있어야합니다. 마스크는 사용자의 문화에 의존해야합니다. js와 cshtml 모두에서 다음과 같은 오류 메시지가 표시됩니다 : mask.split is not a function. jquery.maskedinput-1.2.3.jsmake.split에서 make.toString() .split으로 변경했는데 오류가 사라졌지 만 다음과 같이 표시되어야합니다 : 또는 일부 01 숫자가 있어야합니다. 어떤 생각? cshtml의 코드는 다음과 같습니다jquery의 culture에 따라 날짜 마스크가 필요합니다.

당신이 전역 변수 (window 객체에 넣어) 다음 JS 파일 내부에 window.maskFormat에 참조로 maskFormat을 가질 수
<script type="text/javascript"> 
    $(function() { 
     var maskFormat = @Html.CurrentDateMask(); 
     $(".DateBox").mask(maskFormat); 
    }); 
    </script> 
+3

'@ Html.CurrentDateMask()'가 반환하는 것은 무엇입니까? 난 당신이 문자열로 : var maskFormat = "@ Html.CurrentDateMask();";'자바 스크립트 문자열을 만들려는 것 같아요. – voigtan

+0

그것은 문자열을 반환합니다 - 그리고 네 - 도움이 :) 대단히 감사합니다 :) 그것에 대한 추가 질문 - 이것은 모든 외부 조력자의 사용없이 js에서 완전히 할 수 있습니까? 나는 다른 페이지에 대한 일반적인 js 페이지를 변경하는 대신 - 그 js 변경하고 싶습니다 ... – agmawe

답변

1

:

cshtml 파일 :

(function() { 
    window.maskFormat = "@Html.CurrentDateMask();"; 
})(); 

과 자바 스크립트 파일에

:

$(function(){ 
    $(".DateBox").mask(window.maskFormat); 
}); 

하지만, 많은 전역 변수에 추가하거나 덮어 쓰기 쉬운 이름으로 추가하지 않도록 조심하십시오.

+0

대단히 감사합니다 :) – agmawe

관련 문제