JavaScript有没有办法检查表单是否脏?
Is there any way to check whether form is dirty or not in JavaScript?
我在 java 脚本中有一个表单验证器示例。在这种情况下,有没有办法检查表单是否脏?
我的平台是JavaScript
请在下面找到相应的示例,并提出任何解决方案。
代码片段:
我用过:
if (name.value != name.defaultValue) {
alert("#name has changed");
}
你可以使用 JQuery 这样的东西...
var _isDirty = false;
$("input[type='text']").change(function(){
_isDirty = 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;
}
你有 kendo-ui-grid 和 kendo-validator 标签,所以我想你正在使用 kendo 框架。
如果您想查看表单是否脏了,您应该以 kendo 方式 sample.
检查 viewModel
基本上我已经创建了一个 viewModel,它实现了 ObservableObject 接口,并且具有与表单容器的两种绑定方式。
每次您更改表单中的某些内容时,都会在 viewModel 中触发更改事件,该事件将变量(脏)设置为 true。
var dirty = false;
var viewModel = new kendo.data.ObservableObject({
fullname: "test"
});
viewModel.bind("change", function () {
alert("changed");
dirty = true;
});
kendo.bind($("#tickets"), viewModel);
在 ObservableObject 中添加您需要的所有字段 "watch"
并在他们的标记上设置 属性 data-bind="value:fieldName"
我在 java 脚本中有一个表单验证器示例。在这种情况下,有没有办法检查表单是否脏?
我的平台是JavaScript
请在下面找到相应的示例,并提出任何解决方案。
代码片段: 我用过:
if (name.value != name.defaultValue) {
alert("#name has changed");
}
你可以使用 JQuery 这样的东西...
var _isDirty = false;
$("input[type='text']").change(function(){
_isDirty = 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;
}
你有 kendo-ui-grid 和 kendo-validator 标签,所以我想你正在使用 kendo 框架。 如果您想查看表单是否脏了,您应该以 kendo 方式 sample.
检查 viewModel基本上我已经创建了一个 viewModel,它实现了 ObservableObject 接口,并且具有与表单容器的两种绑定方式。 每次您更改表单中的某些内容时,都会在 viewModel 中触发更改事件,该事件将变量(脏)设置为 true。
var dirty = false;
var viewModel = new kendo.data.ObservableObject({
fullname: "test"
});
viewModel.bind("change", function () {
alert("changed");
dirty = true;
});
kendo.bind($("#tickets"), viewModel);
在 ObservableObject 中添加您需要的所有字段 "watch"
并在他们的标记上设置 属性 data-bind="value:fieldName"