#javascript #forms #mvvm #kendo-ui #observable
Вопрос:
Я пытаюсь сбросить модель представления ограниченной формы html при нажатии кнопки, которая использует наблюдаемый объект, но после сброса(сброс html) она не позволяет вводить в форму новые данные при нажатии.
Рабочий процесс: У меня есть форма, в которой пользователь вводит идентификатор и нажимает кнопку, при помощи которой удаленный источник данных загружает данные в форму. После загрузки данных пользователь нажимает кнопку Очистить(сброс), чтобы загрузить пустую форму для поиска другого идентификатора для загрузки новых данных, но после очистки(сброса) это не позволяет форме извлекать новые данные.
Модель
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();
};
Ответ №1:
Я использовал JS .reset() с повторной загрузкой данных, чтобы снова загрузить пустую наблюдаемую форму, и теперь форма сбрасывается правильно.
...
document.getElementById("triage_form").reset();
getdata(); ;initiates blank model
...