2012-05-13 3 views
1

내 Html.Editorfor 물 마크를 표시하기 위해 노력하고, 여기에 워터 마크 (프롬프트 =

내보기 내 ViewModel에 여기

[Display(Prompt="This is a WaterMark")] 
[DisplayFormat(DataFormatString = "{0:MM/dd/yyy}", ApplyFormatInEditMode = true)] 
public DateTime Dob { get; set; } 

입니다

@Html.EditorFor(model => model.Dob) 
여기에서

은 \ Views \ Shared \ EditorTemplates \ String.cshtml에있는 내 EditorTemplate String.cshtml입니다.

다음을 시도해 보았습니다. this thread. 그러나 내 워터 마크가 나타나지 않았지만 그 이유는 무엇입니까?

는이

+2

Internet Explorer를 사용하고 있습니까? – Romias

답변

0

디스플레이를 사용한 워터 마킹 (프롬프트는 절대로 작동하지 않지만이 jquery를 사용하면 텍스트 상자에 워터 마크를 표시 할 수 있습니다. 워터 마크 대신 이미지를 사용하고 있습니다. 워터 마크 텍스트 이미지를 만들어야합니다.

당신은 당신을 위해 작동하지 않았다 다음 한 게시물에서 솔루션 이유 : 당신이 IE를 사용하기 때문에 당신이 연결 솔루션이 작동하지 않았다하는 이유는 동일한 코드를 사용해보십시오.
$(document).ready(function() { 

      /*Watermark for date fields*/ 

      if ($("#dob").val() == "") { 
       $("#dob").css("background", "#ebebeb url('/Content/images/DateWaterMark.png') no-repeat 1px 0px"); 
      } 

      $("#dob").focus(function() { 
       if (watermark == 'MM/DD/YYYY') { 
        $("#dob").css("background-image", "none"); 
        $("#dob").css("background-color", "#fff"); 
       } 
      }).blur(function() { 
       if (this.value == "") { 
        $("#dob").css("background", "#ebebeb url('/Content/images/DateWaterMark.png') no-repeat 1px 0px"); 
       } 
      }); 

      $("#dob").change(function() { 
       if (this.value.length > 0) { 
        $("#dob").css("background", "#fff"); 
       } 
      }); 
} 
4

이 코드는 성공적으로 대응 <input> 태그의 placeholder 속성을 렌더링 해결하기 위해 당신의 도움을 주셔서 감사합니다. 이는 브라우저에서 발생하는 일들을 위해 must support을 사용하는 HTML5 속성입니다. 예를 들어, Internet Explorer를 사용하는 경우, 향후 10.0 버전에서만이 속성에 대한 지원이 추가됩니다.

jquery watermark plugin과 같이 기본적으로 지원하지 않는 브라우저에 원하는 동작을 첨부하는 데 사용할 수있는 클라이언트 스크립팅 솔루션이 있습니다.

0

구체적으로 귀하의 질문에 대답하려면 Chrome - 프롬프트가 올바르게 표시됩니다. IE10이 따라 오길 바랍니다.