2013-02-13 78 views
0

我在我的asp.net mvc視圖上有一個textarea,並且有兩個按鈕Save和Cancel。我想檢查用戶是否在textarea中鍵入了某些東西,但沒有點擊保存並單擊取消按鈕。或點擊保存按鈕,然後更改文本,並沒有點擊保存更改後,點擊取消。關於取消點擊我想顯示警報,但我如何檢查用戶沒有點擊保存後更改文字使用jQuery或JavaScript(也許在.change事件或取消點擊)請建議當文本框使用jQuery更改值時檢測

+1

你聽說過defaultValue'的'? – epascarello 2013-02-13 18:51:11

+0

這是你的需求 - http://stackoverflow.com/questions/11844256/alert-for-unsaved-changes-in-form – ssilas777 2013-02-13 19:13:17

回答

0

的Javascript:

<script> 
$(function() { 
    $("#TextAreaName").change(function() { 
     $(this).attr("data-changed", true); 
    }); 

    $("#Save").click(function(event) { 
     event.preventDefault(); 

     if ($("#TextAreaName").attr("data-changed") === "true") { 
      //Do your saving here 

      //Reset the state 
      $("#TextAreaName").attr("data-changed", false); 
     } 
    }); 
}); 

剃刀標記

<body> 
<div> 
    @using (Html.BeginForm()) 
    { 
     @Html.TextArea("TextAreaName", new{data_changed = false}) 

     <button id="Save" type="submit">Save</button> 
     <button id="cancel" type="button">Cancel</button> 
    } 
</div> 

+0

我更喜歡html5數據屬性選項,因爲不需要額外的元素在DOM中 – amhed 2013-02-13 19:20:21

0

你可以有一個隱藏的領域,你設置爲某個值,當用戶保存,然後就檢查隱藏字段使用jQuery或JavaScript值...

相關問題