]> code.delx.au - comingnext/commitdiff
added NaN validation check for settings with numbers
authorMichael Prager <michael@pragers.de>
Thu, 12 May 2011 15:14:51 +0000 (17:14 +0200)
committerMichael Prager <michael@pragers.de>
Thu, 12 May 2011 15:14:51 +0000 (17:14 +0200)
comingNext/index.html

index c0856466b68077abc5d606b64ef1c9ee9cb5cf05..7c97d58e5384a9404d298cb0af269e765b444697 100644 (file)
@@ -962,13 +962,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
@@ -1136,17 +1139,23 @@ function loadSettings()
                                var pair = stringlist[i].split('=');\r
                                var key = pair[0];\r
                                var value = pair[1];\r
-                               log('stringlist: ' + key + '=\'' + value + '\'');
-                               if (config[key].Type == 'Int')\r
+                               log('stringlist: ' + key + '=\'' + value + '\'');\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