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 に答える