0

我在 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>

<% } %>
4

1 回答 1

1

您可以使用 onbeforeunload 事件:

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

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

于 2013-11-12T11:02:15.413 回答