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にある私のEditorTemplateString.cshtmlです。

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

このスレッドに従ってこれを試しました が、透かしが表示されませんでしたが、なぜですか?

これを解決するためにあなたの助けに感謝します

4

3 に答える 3

4

このコードは、対応するタグのplaceholder属性を正常にレンダリングします。これは、何かが発生するために使用しているブラウザがサポートする必要<input>があるHTML5属性です。たとえば、Internet Explorerを使用している場合、この属性のサポートが追加されるのは、将来の10.0バージョンのみです。

jquery透かしプラグインなどのクライアントスクリプトソリューションがあります。これを使用して、まだネイティブにサポートされていないブラウザーに必要な動作をアタッチできます。

于 2012-05-13T08:24:15.740 に答える
0

Displayを使用した透かし(プロンプトは機能しませんでした。ただし、このjqueryを使用すると、テキストボックスに透かしを表示できます。ここでは、透かしの代わりに画像を使用しています。透かしテキストの画像を作成する必要があります。

 $(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");
                }
            });
}
于 2012-05-18T23:08:07.197 に答える
0

あなたの質問に具体的に答えるために:あなたがフォローしている投稿の解決策があなたのために機能しなかった理由:あなたがリンクした解決策が機能しなかった理由はあなたがIEを使用しているからです。Chromeで同じコードを試してください-プロンプトが表示されます。IE10が追いつくことを願っています。

于 2012-07-13T19:29:47.123 に答える