首页 > 解决方案 > Kendo html有界表单重置

问题描述

我正在尝试在使用可观察对象的按钮单击时重置 html 有界表单 viewModel,但在重置(html 重置)之后,它不允许输入表单以在单击时提取新数据。

工作流程:我有一个表单,用户输入一个 id 并单击一个按钮,远程数据源将数据拉入表单。加载数据后,用户会单击清除(重置)按钮以加载空白表单以搜索另一个 id 以加载新数据,但是在清除(重置)之后,它不允许表单检索新数据。

模型

 var formModel = kendo.data.Model.define({                            
                            id: "investigation_id",
                            ...
  });

数据源

var formSource = new kendo.data.DataSource({
                     ... });

可观察的

 var form = kendo.observable({
                            dataSource: formSource,                                                         
                            forms: new formModel(),
                            standard_ind: 0, change_type: 0, 
                            resolution_type: 0,resolution_sub_type: 0,                                                      
                            getstd: function(){ return this.get("standard_ind"); }, 
                            getchg: function(){ return this.get("change_type"); },                                                        
                            getrestype: function(){ return this.get("resolution_type"); },
                            getresstype: function(){ return this.get("resolution_sub_type"); },
                            ...
                            goReset: function(){                                    
                                    invReset();
                            }

kendo.bind($("#triage_form"), form); 

function invReset(){
                            $('#sr_error_message').text('').fadeOut();  
                                $('#subform').hide();$('#upd').hide();$('#save').show();                                 
                                newModel = new formModel();
                                form.dataSource.data(newModel);
                                console.log("reset form",form.forms);
                                $('#sr_number').focus();
                        };

标签: javascriptformsmvvmkendo-uiobservable

解决方案


我使用 JS .reset() 再次加载数据以再次加载空白 observable 并且表单现在正在正确重置。

...
document.getElementById("triage_form").reset();
getdata();    ;initiates blank model
...

推荐阅读