为什么单击提交时 kendoForm 会触发两次?
Why does kendoForm fire twice when clicking submit?
如果在 domReady 之后的 kendoForm 中使用 setOptions 设置了 formData,那么单击一次提交会触发两次。
form.setOptions({
formData : { ID: 2, Name: "Tom", Address: "Berlin" }
});
我的示例代码:kendoForm example
首先按下提交按钮 => 提交触发。
第二次按下添加 FormData 按钮,然后按下提交 => 提交触发两次。
setOptions 提交后触发两次是我的错误吗?
所描述的行为与此处记录的表单中的已知问题有关:
https://github.com/telerik/kendo-ui-core/issues/5854
作为官方修复解决问题之前的临时解决方法,您可以使用覆盖 _setEvents 函数,如下所示:
<script>
kendo.ui.Form.fn._setEvents = function() {
var that = this,
validator = that.validator;
validator
.bind("validateInput", $.proxy(that._validateField, that))
.bind("validate", $.proxy(that._validate, that));
that.wrapper
.on("submit.kendoForm", $.proxy(that._submit, that))
.on("clear.kendoForm", $.proxy(that._clear, that))
.on("click.kendoForm", ".k-form-clear", $.proxy(that._clear, that));
that._model.bind("change", $.proxy(that._change, that));
}
</script>
Here is a working Dojo example 为了您的方便。
如果在 domReady 之后的 kendoForm 中使用 setOptions 设置了 formData,那么单击一次提交会触发两次。
form.setOptions({
formData : { ID: 2, Name: "Tom", Address: "Berlin" }
});
我的示例代码:kendoForm example
首先按下提交按钮 => 提交触发。
第二次按下添加 FormData 按钮,然后按下提交 => 提交触发两次。
setOptions 提交后触发两次是我的错误吗?
所描述的行为与此处记录的表单中的已知问题有关:
https://github.com/telerik/kendo-ui-core/issues/5854
作为官方修复解决问题之前的临时解决方法,您可以使用覆盖 _setEvents 函数,如下所示:
<script>
kendo.ui.Form.fn._setEvents = function() {
var that = this,
validator = that.validator;
validator
.bind("validateInput", $.proxy(that._validateField, that))
.bind("validate", $.proxy(that._validate, that));
that.wrapper
.on("submit.kendoForm", $.proxy(that._submit, that))
.on("clear.kendoForm", $.proxy(that._clear, that))
.on("click.kendoForm", ".k-form-clear", $.proxy(that._clear, that));
that._model.bind("change", $.proxy(that._change, that));
}
</script>
Here is a working Dojo example 为了您的方便。