var $submitButton = $j('#btn_enviar'); var $escolaInepIdField = $j('#escola_inep_id'); var $escolaIdField = $j('#cod_escola'); $escolaInepIdField.closest('tr').hide(); var submitForm = function(){ var canSubmit = validationUtils.validatesFields(); // O campo escolaInepId somente é atualizado ao cadastrar escola, uma vez que este // é atualizado via ajax, e durante o (novo) cadastro a escola ainda não possui id. // // #TODO refatorar cadastro de escola para que todos campos sejam enviados via ajax, // podendo então definir o código escolaInepId ao cadastrar a escola. if (canSubmit && $escolaIdField.val()) putEscola(); else if (canSubmit) acao(); } var handleGetEscola = function(dataResponse) { handleMessages(dataResponse.msgs); $escolaInepIdField.val(dataResponse.escola_inep_id); } var handlePutEscola = function(dataResponse) { handleMessages(dataResponse.msgs); // submete formulário somente após put (para não interromper requisição ajax) acao(); } var getEscola = function(escolaId) { var data = { id : escolaId }; var options = { url : getResourceUrlBuilder.buildUrl('/module/Api/escola', 'escola'), dataType : 'json', data : data, success : handleGetEscola }; getResource(options); } var putEscola = function() { var data = { id : $escolaIdField.val(), escola_inep_id : $escolaInepIdField.val() }; var options = { url : putResourceUrlBuilder.buildUrl('/module/Api/escola', 'escola'), dataType : 'json', data : data, success : handlePutEscola }; putResource(options); } if ($escolaIdField.val()) { getEscola($escolaIdField.val()); $escolaInepIdField.closest('tr').show(); } // unbind events $submitButton.removeAttr('onclick'); $j(document.formcadastro).removeAttr('onsubmit'); // bind events $submitButton.click(submitForm);