Как установить заполнитель текста в ASP.NET MVC TextBox - PullRequest
0 голосов
/ 18 марта 2019

На моей странице есть простая форма подписки на новостную рассылку с двумя текстовыми полями (имя, адрес электронной почты) и кнопкой отправки. После успешной отправки я хочу отобразить заявление об успехе, используя ViewData ["Message"]. До упаковки формы в операторе if я мог использовать для нее текстовые значения по умолчанию и события jQuery, но после упаковки она не работает. Вот код:

@if (ViewData["Message"] != null)
{
    <span class="visitWriteup">Thank You for Signing Up for Our Newsletter!</span>
}
else
{

    using (Html.BeginForm("MailingList", "Home", FormMethod.Post, new { @class = "MailingListForm" }))
    {
        <span class="visitWriteup">
            Sign Up for Our Newsletter:
        </span>
        <span class="SignUpText">
            @Html.TextBoxFor(m => m.Name, new { @Value = "Name:" })

        </span>
        <span class="SignUpText">
            @Html.TextBoxFor(m => m.Email, new { @Value = "E-Mail:" })

        </span>
        <span class="errorText">@Html.ValidationMessageFor(m => m.Name)</span>
        <span class="errorText">@Html.ValidationMessageFor(m => m.Email)</span>
        <input type="submit" id="btnSubmit" class="btnSubmit" value="Subscribe" />
    }
}

Форма не отображается без значений "Name:" и "E-Mail:" в текстовых полях и моих функциях jQuery.

$(function () {
   $('#Name').click(function () {
       if (this.value == 'Name:' || this.value == '') {
        $(this).val('');
       }
    });
   $('#Name').blur(function () {
       if (this.value == '') {
          $(this).val('Name:');
       }
    });
});

любая помощь будет оценена.

1 Ответ

2 голосов
/ 18 марта 2019

Кажется, вы устанавливаете placeholder текст в полях ввода неправильно. Пожалуйста, сделайте следующее:

<span class="SignUpText">
    @Html.TextBoxFor(m => m.Name, new { placeholder="Name" })
</span>
<span class="SignUpText">
    @Html.TextBoxFor(m => m.Email, new { placeholder="E-mail" })
</span>

Теперь вам не нужно ничего делать с jQuery.

...