diff --git a/module/doc/ui/create.text.html.php b/module/doc/ui/create.text.html.php
index f683360f80..b6a6ff49ed 100644
--- a/module/doc/ui/create.text.html.php
+++ b/module/doc/ui/create.text.html.php
@@ -159,7 +159,7 @@ $handleSubmitForm = <<<'JS'
zui.Modal.alert($showTitle.data('titleHint')).then(() => $showTitle[0].focus());
return false;
}
- $(e.target).find('input[name=status]').val(isDraft ? 'draft' : 'normal');
+ $(e.target).removeClass('has-changed').find('input[name=status]').val(isDraft ? 'draft' : 'normal');
}
JS;
@@ -167,7 +167,7 @@ formBase
(
setID('docForm'),
set::actions(false),
- set::ajax(array('beforeSubmit' => jsRaw($handleSubmitForm))),
+ set::ajax(array('beforeSubmit' => jsRaw($handleSubmitForm), 'onFail' => jsRaw('$("#docForm").addClass("has-changed")'))),
set::morph(),
setData('unsavedConfirm', $lang->doc->confirmLeaveOnEdit),
on::change('#showTitle,zen-editor')->once()->do('$element.addClass("has-changed")'),
diff --git a/module/doc/ui/edit.text.html.php b/module/doc/ui/edit.text.html.php
index b19d96442e..df93a372ec 100644
--- a/module/doc/ui/edit.text.html.php
+++ b/module/doc/ui/edit.text.html.php
@@ -139,7 +139,7 @@ $handleSubmitForm = <<<'JS'
zui.Modal.alert($title.data('titleHint')).then(() => $title[0].focus());
return false;
}
- $(e.target).find('input[name=status]').val(isDraft ? 'draft' : 'normal');
+ $(e.target).removeClass('has-changed').find('input[name=status]').val(isDraft ? 'draft' : 'normal');
}
JS;
@@ -148,7 +148,7 @@ formBase
setID('docForm'),
set::actions(false),
set::morph(),
- set::ajax(array('beforeSubmit' => jsRaw($handleSubmitForm))),
+ set::ajax(array('beforeSubmit' => jsRaw($handleSubmitForm), 'onFail' => jsRaw('$("#docForm").addClass("has-changed")'))),
setData('unsavedConfirm', $lang->doc->confirmLeaveOnEdit),
on::change('#showTitle,zen-editor')->once()->do('$element.addClass("has-changed")'),
panel