X-Git-Url: http://mop.ddnsfree.com/gitweb/?p=brisk.git;a=blobdiff_plain;f=web%2Ffieldify.js;h=19bf23fdacc07046b0a4c372e60aaa27f634c0c0;hp=5be1dea8f200f89328de95a455cc89285a664cb6;hb=5cf7309d9937fba5b9b97c3bf0d7c6ca2db1e4df;hpb=fba998349f6e71d4305a933f0725a1cb1b7e24cc diff --git a/web/fieldify.js b/web/fieldify.js index 5be1dea..19bf23f 100644 --- a/web/fieldify.js +++ b/web/fieldify.js @@ -19,7 +19,7 @@ Fieldify.prototype = { }, // { 'name': 'value' } - populate: function(field_values) + json2dom: function(field_values) { for (k in this.field) { if (this.field[k].type == 'value') { @@ -31,11 +31,32 @@ Fieldify.prototype = { } }, + dom2json: function() + { + var ret = {}; + for (k in this.field) { + if (this.field[k].perms == 'ro') + continue; + if (this.field[k].type == 'value') { + ret[k] = this.fld_value_get(k); + } + else if (this.field[k].type == 'radio') { + ret[k] = this.fld_radio_get(k); + } + } + return ret; + }, + fld_value_set: function(name, value) { this.ancestor.getElementsByClassName(name + '_id')[0].innerHTML = value; }, + fld_value_get: function(name) + { + return this.ancestor.getElementsByClassName(name + '_id')[0].innerHTML; + }, + fld_radio_set: function(name, value) { var arr = this.ancestor.getElementsByClassName(name + '_id'); @@ -47,5 +68,20 @@ Fieldify.prototype = { arr[k].checked = false; } }, + + fld_radio_get: function(name) + { + var arr = this.ancestor.getElementsByClassName(name + '_id'); + ret = null; + + for (k in arr) { + if (arr[k].checked == true) { + ret = arr[k].value; + break; + } + } + return ret; + }, + tap: null }