Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var CIDADES = {}
- CIDADES.Form = function(form_id) {
- if(!form_id) throw new Error("Formulário não informado");
- this.form = document.getElementById(form_id);
- var _form = this.form;
- var forEach = function(arr, fn) {
- for(var i = 0; i < arr.length; i++) {
- fn(arr[i]);
- }
- };
- var getInput = function(id) {
- var input;
- var children = $("form#"+_form.id+" input");
- forEach(children, function(el) {
- if(el.id == id) input = el;
- });
- return input;
- };
- var criarJson = function(id, valor) {
- var obj = id.split(".");
- var objeto = {};
- for(var t = obj.length; t > 0; t--) {
- var temp = {};
- var name = obj[t-1];
- if(name == obj[obj.length-1]) {
- temp[name] = valor;
- } else {
- temp[name] = objeto;
- }
- objeto = temp;
- }
- return objeto;
- };
- var mesclar = (function mesclar(el, cp) {
- for(var i in cp) {
- if(typeof cp[i] == 'object') {
- if(typeof el[i] == "undefined") {
- el[i] = cp[i];
- }
- mesclar(el[i], cp[i]);
- } else {
- el[i] = cp[i];
- }
- }
- });
- this.getValues = function() {
- var json = {};
- var children = $("form#"+_form.id+" input");
- forEach(children, function(input) {
- if(input.type == "text") {
- //json[input.id] = input.value
- var id = input.name;
- var valor = input.value
- var temp = criarJson(id, valor);
- mesclar(json, temp);
- }
- });
- return json;
- };
- this.popular = function(json) {
- (function percorrer(el, pai){
- for(var propriedade in el) {
- var value = el[propriedade];
- if( typeof value == "object" ) {
- if(typeof pai == "undefined") {
- var pai = propriedade;
- } else {
- pai = pai + "." + propriedade;
- }
- percorrer(value, pai);
- } else {
- var input;
- if(typeof pai == "undefined") {
- input = getInput(propriedade);
- } else {
- input = getInput(pai + "." + propriedade);
- }
- if(input) input.value = value;
- }
- }
- })(json)
- return this;
- };
- return this;
- };
Add Comment
Please, Sign In to add comment