保留Html占位符的另一种方法

保留Html占位符的另一种方法,html,asp.net-mvc-4,razor,razor-2,Html,Asp.net Mvc 4,Razor,Razor 2,我有一个Razor语法的注册表,如下所示 <div id="RegisterDiv" class="is-hidden"> @using (Html.BeginForm("Register", "User", FormMethod.Post, new { id = "frmRegister" })) { <label>Email</label> @Html.TextBoxFor(

我有一个Razor语法的注册表,如下所示

    <div id="RegisterDiv" class="is-hidden">
    @using (Html.BeginForm("Register", "User", FormMethod.Post, new { id = "frmRegister" }))
    {            

        <label>Email</label>
        @Html.TextBoxFor(lm => lm.Email, new { id = "Email", name = "Email", value = "", placeholder = "Enter your email" })
        <small id="Emailerror" class="error is-hidden">A valid email address is required</small>

        <label>Password</label>
        @Html.PasswordFor(lm => lm.Password, new { id = "Password", name = "Password", value = "", maxlength = "20" })
        <small id="Passworderror" class="error is-hidden"></small>      
        @Html.PasswordFor(lm => lm.VerifyPassword, new { id = "VerifyPassword", name = "VerifyPassword", value = "", maxlength = "20" })
        <small id="VerifyPassworderror" class="error is-hidden"></small>
        <small class="help-block">* must be 6-20 characters (letters, numbers and hyphens are accepted but not spaces)</small>

        <hr>
        <div class="form-row">
            <div class="six columns">
                @Html.TextBoxFor(lm => lm.FirstName, new { id = "FirstName", name = "FirstName", value = "", placeholder = "First Name" })
                <small id="FirstNameerror" class="error is-hidden">First name is required</small>
            </div>
            <div class="six columns">
                @Html.TextBoxFor(lm => lm.LastName, new { id = "LastName", name = "LastName", value = "", placeholder = "Last Name" })
                <small id="LastNameerror" class="error is-hidden">Last name is required</small>
            </div>
        </div>
        <div class="form-row">
            <div class="six columns">
                @Html.DropDownListFor(dr => dr.CountryId, new SelectList(Model.CountryList, "countryid", "name"), "Country of Residence", new { id = "CountryId", name = "CountryId" })
                <small id="CountryIderror" class="error is-hidden">Country is required</small>
            </div>
        </div>            
        <div class="form-action">
            <a id="Submit" class="form-submit" href="javaScript:void(0);">Register</a>
            <a id="Cancel" class="form-cancel" href="javaScript:void(0);">Cancel</a>
        </div>
    }
</div>

但当应用程序在IE-8上运行时,元素id=“Password”和id=“VerifyPassword”的值不会被发送到服务器。在删除占位符属性时,它可以正常工作,即数据被发送到服务器。在不删除占位符属性的情况下,是否有解决此问题的方法?如果没有,除了像
placeholder=“Verify Password”
这样的占位符外,是否还有其他保留占位符的方法

占位符属性是html5中的一个新属性,这意味着html5之前的浏览器将无法使用它们。 你可以试一试,这是为了让HTML5的元素/属性在旧浏览器上工作。 当然,您可以为占位符创建自己的javascript函数,这并不困难

$("#frmRegister").submit();