2013-08-20 3 views
0

필수 필드 유효성 검사와 함께 passwordfor가 있습니다. 자리 표시 자 특성은 IE에서 작동하지 않으며 대신 유효 문자가 특수 문자로 표시되는 워터 마크 텍스트에 대해 실행됩니다. 여기에 많은 제안을했습니다. Placeholders in IEhttp://www.hagenburger.net/BLOG/HTML5-Input-Placeholder-Fix-With-jQuery.html은 암호를 제외한 모든 입력란에서 작동합니다. 도움을 주시면 감사하겠습니다.IE의 자리 표시 자 passwordfor에 대한 작업이 이루어지지 않습니다.

+0

당신이 이전뿐만 아니라 IE8과에 대한 솔루션이 필요합니까? 아니면 IE 9? –

+0

지연된 response.i 죄송합니다. jquery.placeholder-enhanced.min.js.Thanks를 추가하여 수정했습니다. – Sweta

답변

2

동일한 문제가 발생했습니다. 극도로 초조 한 물건. 나는이 닮은 ~/조회/공유/EditorTemplates/Password.cshtml 템플릿을 추가하여 기본 템플릿을 재정의하는 시도 :

@Html.Password("", 
ViewData.TemplateInfo.FormattedModelValue, 
new { 
    @class = "text-box single-line password", 
    placeholder = ViewData.ModelMetadata.Watermark}) 

내가 문자열 형식 (~/조회/공유를 위해 그것을했을 때 이상 일한 /EditorTemplates/Password.cshtml)하지만 암호는 아닙니다. 그래서 MVC4의 소스를 다운로드하고 살펴 보았습니다. 암호 필드가 입력 (TextBoxFor) 필드와 다른 방식으로 동작하는 것을 볼 수있는 유일한 방법은 서식 데이터가 null로 기본 HTML 생성 코드에 전달된다는 것입니다 (System.Web.Mvc.Html 참조). InputExtensions, 233 행, PasswordHelper 함수). 그러나 그것은 단지 추측입니다. 나는 그 가정을 검증하기 위해 단위 테스트를 실행시킬 수 없었다. 나는 해결책을 찾을 때까지

, 내 해결이에서 내 면도기 코드를 변경했다 : 이것에

@Html.PasswordFor(model => model.Password) 

: 원하는 워터 마크를 만들어

@Html.PasswordFor(model => model.Password, new { placeholder = "Password" }) 

나를 위해 나타납니다. 그것은 진흙이지만 당신은 무엇을합니까?

1

조쉬 - 너는 옳은 길을 걷고있다. 대신

@Html.PasswordFor(model => model.Password) 

사용

@Html.EditorFor(model => model.Password)