如何检查在asp.net页面上是否编辑了文本区域
how do you check if a textarea has been edited on an asp.net page?
我有一个页面,有多个步骤来完成一个表单。在每一步中,加载一个不同的分部视图。第一步是文本框。他们可以回来编辑它在以后的日期,我希望它弹出一个窗口,询问他们是否要保存它,当他们去到不同的步骤没有保存他们所做的,但只有当他们已经编辑了什么是在文本框。有一个简单的方法来做到这一点使用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的例子。
相关文章:
- 如何使用jQuery可编辑插件检查ajax是否成功完成
- 检查onbeforeunload中的ace编辑器,查看是否进行了更改
- jqGrid - 是否有任何“网格编辑模式”
- 是否可以在没有CMS的情况下使用富文本编辑器
- 当一个单元格被编辑时,是否有一个事件触发,但值没有'不要改变
- 如何检查所选文本是否可编辑
- 如何通过服务器找到用户是否开始响应?[i.e.In 编辑他们是否键入的文本]
- 在设置 IIS Express 以识别 JSON 文件类型后 - VS 是否可以调用除纯文本之外的更好的编辑器
- 是否可以禁用 MarkdownDeep Markdown 编辑器中的预览窗格
- 在单击后创建输入时,是否可以准确地在单击发生的位置开始编辑输入
- 在 html 中制作可编辑的表格时,是否最好将表格内容保留在数组中
- 是否有可编辑的 jsGrid 的完整工作示例
- 对数据库进行 AJAX 编辑时,我是否应该立即使用新数据更新接口
- 是否可以使用 for 循环编辑多个数组
- 是否可以使用 javascript 编辑文本输入并添加到撤消堆栈
- 革命滑块 - 是否有独立的编辑器
- Slickgrid:是否可以将选项传递给编辑器
- 使用JS检查HTML元素是否可编辑
- 网站是否有可能知道你是否编辑了他们的javascript变量?
- 如何检查在asp.net页面上是否编辑了文本区域