2013-02-13 48 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值...

相关问题