是否有任何方法可以检查JavaScript中的表单是否脏?

是否有任何方法可以检查JavaScript中的表单是否脏?,javascript,kendo-ui,kendo-ui-grid,kendo-validator,Javascript,Kendo Ui,Kendo Ui Grid,Kendo Validator,我有一个java脚本中的表单验证程序示例。在这种情况下,有没有办法检查表单是否脏 我的平台是JavaScript 请在下面找到相应的示例,并建议任何解决方案 代码snipet: 我曾经用过: 如果(name.value!=name.defaultValue){ 警报(“名称已更改”); }您可以使用类似于以下内容的JQuery var _isDirty = false; $("input[type='text']").change(function(){ _isDirty = true;

我有一个java脚本中的表单验证程序示例。在这种情况下,有没有办法检查表单是否脏

我的平台是JavaScript

请在下面找到相应的示例,并建议任何解决方案

代码snipet: 我曾经用过:

如果(name.value!=name.defaultValue){
警报(“名称已更改”);

}
您可以使用类似于以下内容的JQuery

var _isDirty = false;
$("input[type='text']").change(function(){
  _isDirty = true;
});

在编辑表单中的任何内容时,需要一个全局布尔变量来记住

此变量最初应为false,然后当用户编辑输入时,它将更改为true。提交表单时,它会变回false。现在,您可以随时检查脏变量是否为true或false

示例代码:

var dirty = false;

var inputs = document.querySelectorAll('input');
for (var i = 0;i < inputs.length)
{
    var input = inputs[i];
    input .addEventListener('input', function()
    {
        dirty = true;
    });
}

var form = document.forms[0];
form.addEventListener('submit, function()
{
    dirty = false;
}
var dirty=false;
var inputs=document.querySelectorAll('input');
对于(变量i=0;i
您有剑道ui网格和剑道验证器等标记,所以我想您使用的是剑道框架。 如果您想查看表单是否脏,应该以剑道方式检查viewModel

基本上,我已经创建了一个viewModel,它包含ObserveObject接口,并且与表单的容器具有双向绑定。 每次更改表单中的内容时,都会在viewModel中触发更改事件,该事件将变量(dirty)设置为true

在ObserveObject中添加所有需要“监视”的字段
并在其标记上设置属性
data bind=“value:fieldName”

你面临的问题是什么我想检查表单是否脏。如果表单脏了,它必须显示一些弹出窗口。有没有办法在javascript中检查这个问题。@SumeshTG,在angular中,他们有脏变量,显示表单是否脏。但是我想在javascript中检查这个,你说“脏”是什么意思“?如果任何一个表单元素已被触摸或更改,则该表单为Dirty。您可以提供基于此的任何样本吗?谢谢,但我不想要此答案,我已经用此概念进行了检查
var dirty = false;
var viewModel = new kendo.data.ObservableObject({
    fullname: "test"
});
viewModel.bind("change", function () {
    alert("changed");
    dirty = true;
});
kendo.bind($("#tickets"), viewModel);