2012-05-13 23 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

は、特にあなたの質問に答えるためにクロム - それはプロンプトが表示されます。私はIE10が追いつくことを願っています。

関連する問題