2017-07-11 14 views
1

placeholder属性をinput要素に変更しようとすると正常に終了しました。 @placeholderを使用した場合でもMVCのtextboxforまたはtextareafor要素に変更するか、またはplaceholderのみを使用しても機能しません。ここに私が使用するブロックがあります@ placeholderまたはplaceholder属性がjquery for MVCによって変更されていないtextboxfor

<div class="form-group"> 
     <input type="email" class="form-control" name="mail" value="" placeholder="Email"/> 
</div> 

この属性はこの機能によって変わります。

$(document).ready(function() { 
     $("#change").click(function() { 
      debugger; 
      $.ajax({ 
       url: '@Url.Action("ChangeCulture", "Home")', 
       data: { cultureCode: $('#change').text() }, 
       type: "GET", 
       dataType: "json", 
       success: function (data) { 
        debugger;   
        $("#person").attr("placeholder", data.Name); 
        $("#mail").attr("placeholder", data.Email); 
        $("#subject").attr("placeholder", data.Matter); 
        $("#message").attr("placeholder", data.Detail); 
       }, 
      }); 
     }); 
    }); 

ここに問題があります。この機能は、textboxforplaceholder属性を変更しません。

<div class="form-group"> 
    @Html.TextBoxFor(m => m.Email, new { @class = "form-control", placeholder = "Email" }) 
    @Html.ValidationMessageFor(m => m.Email, "", new { @class = "error" }) 
</div> 

jQueryのバージョンは3.1.1で、MVCのバージョンが5.2.3

答えて

2

あなたは要素のid属性を指定していないことを考えると、それは提供されるモデルのプロパティの名前がかかりますしたがって、あなたのjQueryコードで$('#mail')ではなく、$('#Email')を使用する必要があります。

また、あなたはTextBoxForオプションでidを提供することができます:

@Html.TextBoxFor(m => m.Email, new { @id = "mail", @class = "form-control", placeholder = "Email" }) 
+0

はい、それはポイントです。だから私はそれを逃した。ありがとうございました。 –

関連する問題