diff --git a/javascript/src/QfqForm.js b/javascript/src/QfqForm.js
index 1d5abce642b7a9fcf553080358fba0d159f2feaa..c23ae726517b07689e1e8671e974f78c30216e5a 100644
--- a/javascript/src/QfqForm.js
+++ b/javascript/src/QfqForm.js
@@ -85,7 +85,9 @@ var QfqNS = QfqNS || {};
         $("input").keyup(function (event) {
             if (event.which === 13) {
                 if (this.form.formChanged) {
-                    this.getSaveButton().trigger("click");
+                    this.lastButtonPress = "save&close";
+                    n.Log.debug("save&close click");
+                    this.submit();
                 }
                 event.preventDefault();
             }
@@ -572,6 +574,9 @@ var QfqNS = QfqNS || {};
         form.resetFormChanged();
 
         switch (this.lastButtonPress) {
+            case 'save&close':
+                window.history.back();
+                break;
             case 'save':
                 if (data.message) {
                     var alert = new n.Alert(data.message);