add support for radio button inputs

Chris Pollett [2023-01-28 20:Jan:th]
add support for radio button inputs
Filename
js/game.js
diff --git a/js/game.js b/js/game.js
index 5d13fbc..63b632e 100644
--- a/js/game.js
+++ b/js/game.js
@@ -571,9 +571,25 @@ class Location
                         if (target_object) {
                             let target_field = control_field.getAttribute(
                                 "name");
+                            let control_subtype = '';
                             if (target_field) {
-                                control_field.value =
-                                    target_object[target_field];
+                                if (control_type == "input") {
+                                    control_subtype =
+                                        control_field.getAttribute("type");
+                                    if (control_subtype == 'radio') {
+                                        if (control_field.value ==
+                                            target_object[target_field]) {
+                                            control_field.checked =
+                                                target_object[target_field];
+                                        }
+                                    } else {
+                                        control_field.value =
+                                            target_object[target_field];
+                                    }
+                                } else {
+                                    control_field.value =
+                                        target_object[target_field];
+                                }
                                 if(!control_field.disabled) {
                                     if (control_type == "select") {
                                         control_field.addEventListener("change",
@@ -581,6 +597,14 @@ class Location
                                             target_object[target_field] =
                                                 control_field.value;
                                         });
+                                    } else if (control_subtype == "radio") {
+                                        control_field.addEventListener("click",
+                                        (evt) => {
+                                            if (control_field.checked) {
+                                                target_object[target_field] =
+                                                    control_field.value;
+                                            }
+                                        });
                                     } else {
                                         control_field.addEventListener("input",
                                         (evt) => {
ViewGit