退出前保存的表单验证

时间:2013-11-12 10:50:14

标签: asp.net forms validation

我在asp.net中创建了一个表单,现在我需要为它添加一个验证,所以如果已填充任何字段并且用户将尝试离开页面,弹出窗口将显示“你是否想要退出而不保存?“有这么简单的方法吗?

 <% using (Html.BeginForm("Create", "Damages", FormMethod.Post))        
   {%>

    <fieldset>
        <legend>Fields</legend>

        <div class="editor-label">
            <%=Html.LabelFor(model => model.OrderId)%>
        </div>
        <div class="editor-field">
            <%= Model.OrderId%>
        </div>  

        ....                              

        <%=Html.HiddenFor(model => model.Id)%>

        <p>
            <input type="submit" value="Save" />
        </p>
    </fieldset>

<% } %>

1 个答案:

答案 0 :(得分:1)

您可以使用onbeforeunload事件:

<script>
window.onbeforeunload = function() {
   if( isDirty ) {
      return 'Do you want to exit without saving?';
   }
}
</script>

当然,您需要跟踪表单字段更改并相应地设置isDirty标志。