]> code.delx.au - comingnext/commitdiff
added NaN validation check for settings with numbers
authorMichael Prager <michael@pragers.de>
Tue, 26 Apr 2011 22:12:28 +0000 (00:12 +0200)
committerMichael Prager <michael@pragers.de>
Tue, 26 Apr 2011 22:16:36 +0000 (00:16 +0200)
comingNext/index.html

index 7e774b94776fc97fb990360e248f64f20c02d9f6..0b8687cb5784b6913152764c07735d690f6c3f62 100644 (file)
@@ -933,13 +933,16 @@ function showSettings()
                                config[key].Value = document.forms[0].elements["settings." + key].value;\r
                        else if (config[key].Type == 'Int') {\r
                                config[key].Value = parseInt(document.forms[0].elements["settings." + key].value);\r
-                               if (config[key].Value < 0)\r
+                               if (config[key].Value < 0 || isNaN(config[key].Value))
                                        config[key].Value = config[key].Default;\r
                        }\r
                        else if (config[key].Type == 'Bool')\r
                                config[key].Value = document.forms[0].elements["settings." + key].checked;\r
-                       else if (config[key].Type == 'UID')\r
+                       else if (config[key].Type == 'UID') {
                                config[key].Value = parseInt(document.forms[0].elements["settings." + key].value);\r
+                               if (isNaN(config[key].Value))
+                                       config[key].Value = config[key].Default;
+                       }
                        else if (config[key].Type == 'Enum') {\r
                                config[key].Value = document.forms[0].elements["settings." + key].value;\r
                                if (config[key].ValidValues.indexOf(config[key].Value) == -1)\r
@@ -1108,16 +1111,22 @@ function loadSettings()
                                var key = pair[0];\r
                                var value = pair[1];\r
                                console.info('stringlist: ' + key + '=\'' + value + '\'');\r
-                               if (config[key].Type == 'Int')\r
+                               if (config[key].Type == 'Int') {
                                        config[key].Value = Number(value);\r
+                                       if (isNaN(config[key].Value))
+                                               config[key].Value = config[key].Default;
+                               }
                                else if (config[key].Type == 'String')\r
                                        config[key].Value = value;\r
                                else if (config[key].Type == 'Bool')\r
                                        config[key].Value = (value == 'true')\r
                                else if (config[key].Type == 'Enum')\r
                                        config[key].Value = value;\r
-                               else if (config[key].Type == 'UID')\r
+                               else if (config[key].Type == 'UID') {
                                        config[key].Value = Number(value);\r
+                                       if (isNaN(config[key].Value))
+                                               config[key].Value = config[key].Default;
+                               }
                                else if (config[key].Type == 'Array') {\r
                                        config[key].Value = value.split("^");\r
                                        if (config[key].Value.length == 1 && config[key].Value[0] == "") {\r