如何检查在asp.net页面上是否编辑了文本区域
本文关键字:是否 编辑 区域 文本 net 何检查 检查 asp | 更新日期: 2023-09-27 18:03:39
我有一个页面,有多个步骤来完成一个表单。在每一步中,加载一个不同的分部视图。第一步是文本框。他们可以回来编辑它在以后的日期,我希望它弹出一个窗口,询问他们是否要保存它,当他们去到不同的步骤没有保存他们所做的,但只有当他们已经编辑了什么是在文本框。有一个简单的方法来做到这一点使用javascript或什么?
您可以使用javascript检查文本框是否为"dirty"
可以在设置为0的页面上保留计数器变量。现在将onchange事件附加到文本框上。每次onchange事件触发时,递增计数器变量。现在,当用户导航到另一个页面时,检查计数器变量是否为0。如果为0,则文本框未被编辑,否则用户已编辑文本框。
更好的方法在页面加载(window.onload
)时,将要监视的文本框的文本(textbox.value
)存储在一个变量中。当用户导航到其他页面时,检查文本框的当前文本是否与变量的文本匹配,则文本框的值保持不变(但它可能被编辑了多次)
这是一种更好的方法,因为只有2个额外的javascript调用,一个在页面加载时,另一个在用户尝试页面导航时。在之前的方法中,每次文本框的文本发生变化时,都会有一个javascript调用(onchange事件和递增计数器变量)
如果您想检查该值从页面加载时是否发生了变化,您可以将当前值与defaultValue:
进行比较。if (textArea.defaultValue != textArea.value) {
// It's been edited
}
尝试dirtyField插件。下面是一些使用drityField的例子。