使用jQuery检测文本框何时更改值

时间:2013-02-13 18:46:26

标签: javascript jquery asp.net-mvc

我的asp.net mvc视图中有一个textarea,两个按钮保存并取消。我想检查用户是否在textarea中键入了某些内容但没有单击“保存”并单击“取消按钮”。或单击“保存”按钮,然后更改文本,并在更改后单击“保存”,然后单击“取消”。在取消点击我想显示警报,但我如何检查用户是否在使用jquery或javascript更改文本后点击保存(可能在.change事件或取消点击)请建议

3 个答案:

答案 0 :(得分:0)

您可以在用户保存时将某个隐藏字段设置为某个值,然后使用jquery或javascript检查隐藏字段中的值...

答案 1 :(得分:0)

我会使用HTML5 localStorage

的onchange事件

答案 2 :(得分: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);
        }
    });
});

Razor标记

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