diff --git a/controllers/player.py b/controllers/player.py index 44649b0c9ea999217ce5ff52bc0dd717be5fef49..d61755de573ddfb9919d0b76930a26f186906ed3 100644 --- a/controllers/player.py +++ b/controllers/player.py @@ -78,6 +78,9 @@ def submit(): new_input = {"submit": parameters["submit"]} + if JSON_CONTAINS(parameters, [('selection', int)]): + new_input["selection"] = parameters["selection"] + if JSON_CONTAINS(parameters, [('inputs', dict)]): #Load role definitions for additional validation (e.g. maxlength) diff --git a/static/game/debug/renderer.js b/static/game/debug/renderer.js index cd59e41dd2a8f9c2f188dd049c467a595390084f..1a3ec6987feee370482909e2b3f8c88319ec50f0 100644 --- a/static/game/debug/renderer.js +++ b/static/game/debug/renderer.js @@ -62,7 +62,7 @@ function renderRole(_definition, _roleIdle) { var type = element["type"]; var c = element["class"]; var name = element["name"]; - var value = element["value"]; + var value = element["value"] ? element["value"] : ""; var length = element["length"]; if(prompt) { @@ -105,6 +105,22 @@ function renderRole(_definition, _roleIdle) { }); } break; + case "selection": + e = $("<span></span>"); + if(selections && selections[name]) { + for(select in selections[name]) { + var b = $("<input class='game_input' type='submit'/>"); + b.val(selections[name][select]); + b.attr("name", name); + b.attr("selection", select); + b.addClass(c); + b.click(function(o){ + submit($(this)); + }); + e.append(b); + } + } + break; default: e = $("<span>Invalid Element</span>"); break; @@ -136,6 +152,9 @@ function submit(_button) { }); submit["submit"] = _button.attr("name"); + if(_button.attr("selection")) { + submit["selection"] = parseInt(_button.attr("selection")); + } submit["inputs"] = inputs; AJAX_JSON(URL_SUBMIT, submit, function(_code, _data) {