我在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>
<% } %>
答案 0 :(得分:1)
您可以使用onbeforeunload事件:
<script>
window.onbeforeunload = function() {
if( isDirty ) {
return 'Do you want to exit without saving?';
}
}
</script>
当然,您需要跟踪表单字段更改并相应地设置isDirty标志。