Ir para conteúdo

marcelobbt

Members
  • Total de itens

    262
  • Registro em

  • Última visita

Reputação

7 Regular

5 Seguidores

Sobre marcelobbt

  • Classificação
    Estudante de PHP e Java
  • Data de Nascimento 02/22/1979

Informações Pessoais

  • Sexo
    Masculino

Últimos Visitantes

934 visualizações
  1. Resolvi tirando o AngularJS, usei javascript puro. Não era a solução que queria mas resolveu.
  2. O PHP é pq o sistema todo está em PHP. E como o framework me facilita a montar o form eu acabo usando ele, mas poderia montar o form em html simples. Na verdade o javascript que estou usando apenas para executar uma ação ao escolher opções no form. Isso funcionou muito bem no form para criar as informações. Mas quando fui criar o form para editar não consigo jogar os valores nos campos select por causa do AngularJS. Se tivesse uma forma de lançar esses valores no form eu mudaria. Só não estou sabendo fazer.
  3. Eu estou montando um form para editar alguns dados, então uso o PHP/Codeigniter para montar a página com as informações. Acontece que existem umas caixas de escolha que possuem um código em AngularJS para executar uma fórmula e quando coloco o "ng-model", simplesmente some o item que deveria estar marcado. Segue parte do form abaixo: <div class="form-group"> <label>Trajetória:</label> <?php echo form_input(array('type'=>"text", 'class'=>"form-control", 'name'=>'trajetoriaform','id'=>'trajetoriaform'),$riscoBD->__get('trajetoria')); ?> </div> <div class="form-group"> <label>Frequência:</label> <?php echo form_dropdown(array('class'=>"form-control", "ng-model"=>"frequencia", "ng-change"=>"calcRisco()", 'name'=>'frequenciaform','id'=>'frequenciaform'), $frequencia, $riscoBD->__get('frequencia')); ?> </div> <div class="form-group"> <label>Probabilidade:</label> <?php echo form_dropdown(array('class'=>"form-control", "ng-model"=>"probabilidade", "ng-change"=>"calcRisco()", 'name'=>'probabilidadeform','id'=>'probabilidadeform'), $probabilidade, set_value('probabilidadeform')); ?> </div> <div class="form-group"> <label>Severidade:</label> <?php echo form_dropdown(array('class'=>"form-control", "ng-model"=>"severidade", "ng-change"=>"calcRisco()", 'name'=>'severidadeform','id'=>'severidadeform'), $severidade, set_value('severidadeform')); ?> </div> <div class="form-group"> <label>Risco:</label> <?php echo form_input(array('type'=>"text", "ng-value"=>"resultadorisco", 'class'=>"form-control", 'name'=>'riscoform','id'=>'riscoform', "ng-model"=>"risco"),set_value('riscoform')); ?> </div> Quando gera o html, ao colocar para inspecionar o código de uma das caixas o código fica assim: <div class="form-group"> <label>Frequência:</label> <select class="form-control" ng-model="frequencia" ng-change="calcRisco()" name="frequenciaform" id="frequenciaform"> <option value="? undefined:undefined ?"></option> <option value="1" selected="selected">Rara</option> <option value="2">Eventual</option> <option value="3">Habitual</option> <option value="4">Permanente</option> </select> </div> Essa linha "4" aparece do angularJS e é o que impede que apareça o valor selected. Queria saber se tem algum geito de fazer o javascript mostrar o valor que vem do PHP. Abaixo o script: var app = angular.module('risco', []); app.controller('CalculaRisco', function($scope) { $scope.frequencia; $scope.probabilidade; $scope.severidade; $scope.calcRisco = function () { var freq = parseInt ($scope.frequencia); var prob = parseInt ($scope.probabilidade); var sev = parseInt ($scope.severidade); //console.log(sev+' '+prob+' '+freq); risco = freq + prob + sev; if (risco <= 4) { $scope.risco = 'Baixo'; } else if (risco <= 7) { $scope.risco = 'M\u00e9dio'; } else if (risco <= 10) { $scope.risco = 'Alto'; } else { $scope.risco = 'Muito Alto'; } //console.log(risco+$scope.severidade); }; });
  4. marcelobbt

    Acionar máscara em apenas um campo

    Agradeço ao TUAN. Segue o link que ele me passou com uma solução com jquey. Máscaras em campos de formulário com os plugins masked input e mask money
  5. marcelobbt

    Acionar máscara em apenas um campo

    Essa máscara não funciona pois fixa no início. A que coloquei fixa no fim.
  6. marcelobbt

    Acionar máscara em apenas um campo

    Encontrei um código para formatar o valor da forma que eu quero, o problema que ele aciona o script para todos os inputs (ver abaixo) $(function(){ $('input').bind('keypress',mask.money) }); Porém queria aplicar apenas a um dos inputs do meu form. Abaixo segue o script completo var mask = { money: function() { var el = this ,exec = function(v) { v = v.replace(/\D/g,""); v = new String(Number(v)); var len = v.length; if (1== len) v = v.replace(/(\d)/,"0.0$1"); else if (2 == len) v = v.replace(/(\d)/,"0.$1"); else if (len > 2) { v = v.replace(/(\d{2})$/,'.$1'); } return v; }; setTimeout(function(){ el.value = exec(el.value); },1); } } $(function(){ $('input').bind('keypress',mask.money) }); o input seria o abaixo: <input type="text" id="valorform" name="valorform">
  7. marcelobbt

    Desabilitar checkbox

    Obrigado aos que tentaram me ajudar. Encontrei um script antigo e fazendo uma modificações deu certo. Segue o resultado para quem quiser. <script> (function(){ "use strict"; var marcados = 0; var verifyCheckeds = function($checks) { if( marcados>="<?php echo $numeroEscolhas; ?>" ) { loop($checks, function($element) { $element.disabled = $element.checked ? '' : 'disabled'; }); } else { loop($checks, function($element) { $element.disabled = ''; }); } }; var loop = function($elements, cb) { var max = $elements.length; while(max--) { cb($elements[max]); } } var count = function($element) { return $element.checked ? marcados + 1 : marcados - 1; } window.onload = function(){ var $checks = document.querySelectorAll('input[type="checkbox"]'); loop($checks, function($element) { $element.onclick = function(){ marcados = count(this); verifyCheckeds($checks); } if($element.checked) marcados = marcados + 1; }); verifyCheckeds($checks); } }()); </script>
  8. marcelobbt

    Desabilitar checkbox

    Estou criando um sistema de votação onde a pessoa pode escolher um número determinado de respostas, então queria desabilitar as checkbox ao chegar a este valor e voltar a habilitar se a pessoa desmarcar algum campo. Problema que não tenho ideia como fazer isso em javascript. Segue o código abaixo: <h2>Votação</h2> <div class="row"> <div class="col-sm-12"> <h4><?php echo $votacao->__get('titulo'); ?></h4> <p>Término em <?php echo $votacao->__get('dataTermino'); ?></p> <p><?php echo $erro; ?></p> <?php echo form_open($link, array('class'=>"form-horizontal")); ?> <?php $i = 0; foreach ($votacao->__get('opcoes') as $opcao){ echo '<div class="form-group"> <label>'.$opcao.'</label>'. '<div class="col-sm-1"> <input class="form-control" type="checkbox" onkeyup="calcula()" name="opcaoform'.$i.'" id="opcao"/> '. '</div></div>'; $i++; } ?> <input type="text" name="total" id="total" value="<?php echo $total; ?>" style="display: none"/> <div class="form-group"> <div class="col-sm-offset-2 col-sm-6"> <?php echo form_submit(array('name'=>'votar'), 'Votar'); ?> </div> </div> </div> </div> <script> //recebe valores do PHP Function calcula () { var numeroEscolhas = "<?php echo $numeroEscolhas; ?>"; var totalAnterior = document.getElementById('total').value; if () { //se marcou acrescenta um ao total var total = totalAnterior + 1; } else { //se desmarcou diminui um ao total var total = totalAnterior - 1; } if (total == numeroEscolhas) { //desabilita checkboxs document.getElementById('opcao').disabled; } else { //habilita checkboxs; } } </script>
  9. marcelobbt

    Header com acento no TCPDF

    Estou utilizando a blibioteca TCPDF (https://tcpdf.org/) para gerar arquivos em PDF na minha aplicação. Acontece que se eu inserir alguma palavra com acento no header a palavra aparece apenas a primeira letra. A linha que estou tentando alterar é essa abaixo. $pdf->SetHeaderData($exportacao['logo'], 40, $exportacao['titulo'], $exportacao['subtitulo']); Já tentei escrever a palavra, passar por variável (como acima) mas nada adiantou. Já tentei usar codificações como os exemplos abaixo mas nada resolveu. Palavra: Título enviada como: Tiacute;tulo ou T\u00edtulo Será que alguém pode me dar uma ajuda? Obs.: Esse problema é apenas no header.
  10. marcelobbt

    Angular JS Controller não funciona

    Podem fechar. Reescrevi o código todo e fiz diversas alterações que acabaram funcionando.
  11. marcelobbt

    Validação em campos adicionados

    Estou montando um form que acrescenta alguns campos mais esses campos que são acrescentados não consigo fazer funcionar a validação. Obs: Se eu colocar o campo no html as regras de validação funcionam, mas se eu acrescento via botão ele não funciona. html: <div class="row" ng-app="acidente"> <div class="col-sm-12"> <h2>Cadastrar Acidente</h2> <p>Empresa: <?php echo '<strong>'.$mensal->__get('empresa').'</strong>&nbsp;&nbsp;-&nbsp;&nbsp;Período:'.$mensal->__get('mes').'/'.$mensal->__get('ano'); ?></p> <form class="form-horizontal" name="acidenteForm" novalidate action="http://www.google.com"> <div class="form-group"> <label class="col-sm-2 control-label">Dia do Acidente<span class="vermelho">*</span>:</label> <div class="col-sm-10"> <input type="number" name="diaform" class="form-control" ng-model="diaform" required dia-Acidente> &nbsp;&nbsp;<span class="vermelho" ng-show="acidenteForm.diaform.$invalid && acidenteForm.diaform.$dirty">O dia do acidente deve ser um número válido.</span> </div> </div> <div class="form-group"> <label class="col-sm-2 control-label">Descrição do Acidente<span class="vermelho">*</span>:</label> <div class="col-sm-10"> <textarea name="descricaoform" class="form-control" required ng-model="descricaoform" rows="5"></textarea> <p class="vermelho" ng-show="acidenteForm.descricaoform.$invalid && acidenteForm.descricaoform.$dirty">Favor preencher a descrição do acidente.</p> </div> </div> <div class="form-group"> <label class="col-sm-2 control-label">Recomendações do Acidente:</label> <div class="col-sm-10"> <textarea name="recomendacaoform" class="form-control" rows="5"></textarea> </div> </div> <span ng-controller="AdicionarController"> <div class="form-group"> <label class="col-sm-2 control-label">Adicionar acidentado:</label> <div class="col-sm-10"> <input type="button" class="btn btn-success" ng-click="AdicionarCampos()" name="adicionarAcidentado" value="+"> </div> </div> <div id="maisCampos"> </div> </span> <p><span class="vermelho">*</span> campos de preenchimento obrigatório</p> <div class="form-group"> <label class="col-sm-2 control-label">&nbsp;</label> <div class="col-sm-10"> <input type="submit" class="btn btn-success" name="cadastrar" ng-disabled="acidenteForm.$invalid" value="Enviar"> </div> </div> </form> </div> <script src="<?php echo base_url(); ?>js/angular.min.js"></script> <script src="<?php echo base_url(); ?>js/acidente.js"></script> </div> acidente.js var app = angular.module('acidente', []); app.directive('diaAcidente', function() { return { require: 'ngModel', link: function(scope, element, attr, mCtrl) { function myValidation(value) { if (value > 0 && value < 32) { mCtrl.$setValidity('charE', true); } else { mCtrl.$setValidity('charE', false); } return value; } mCtrl.$parsers.push(myValidation); } }; }); var adicionar = []; var i = 0; app.controller('AdicionarController', function($scope) { $scope.AdicionarCampos = function () { ordinal = i+1; adicionar.push('<p><strong>'+ordinal+'º acidentado</strong></p>'); adicionar.push('<div class="form-group"><label class="col-sm-2 control-label">Matrícula:</label><div class="col-sm-10"><input type="number" name="matriculaform'+i+'" class="form-control"></div></div>'); adicionar.push('<div class="form-group"><label class="col-sm-2 control-label">Previsão de Alta<span class="vermelho">*</span>:</label><div class="col-sm-10"><input type="date" name="previsaoform'+i+'" id="previsaoform'+i+'" class="form-control" required ng-model="previsaoform'+i+'">&nbsp;&nbsp;<span class="vermelho" ng-show="acidenteForm.previsaoform'+i+'.$invalid && acidenteForm.previsaoform'+i+'.$dirty">Favor informar a previsao da alta.</span></div></div>'); document.getElementById("maisCampos").innerHTML = adicionar; i = i + 1; }; });
  12. marcelobbt

    Angular JS Controller não funciona

    Estou tentando fazer uma aplicação em angularjs mas quando adiciono o controller da sempre esse erro: Uncaught Error: [$injector:modulerr] Abaixo minha aplicação: HTML <div class="row" ng-app="acidenteApp"> <div class="col-sm-12" ng-controller="AcidenteController"> <p> teste de funcionamento {{1+1}}</p> <h2>Cadastrar Acidente</h2> <p><?php echo '<strong>'.$mensal->__get('empresa').'</strong> - '.$mensal->__get('mes').'/'.$mensal->__get('ano'); ?></p> <?php echo form_open('../CadastrarAcidente/'.$mensal->__get('idMensal'), array('class'=>"form-horizontal", 'name'=>'formAcidente', 'id'=>'formAcidente')); ?> <div class="form-group"> <label class="col-sm-2 control-label">Dia do Acidente:</label> <div class="col-sm-10"> <?php echo form_input(array('type'=>"number", 'class'=>"form-control", 'name'=>'diaform','id'=>'diaform'), set_value('diaform')); ?> <p class="help-block">O dia é obrigatório</p> </div> </div> <div class="form-group"> <label class="col-sm-2 control-label">Descrição do Acidente:</label> <div class="col-sm-10"> <?php echo form_textarea(array('class'=>"form-control", 'name'=>'descricaoform','id'=>'descricaoform'), set_value('descricaoform')); ?> </div> </div> <div class="form-group"> <label class="col-sm-2 control-label">Recomendações/Ações Após o Acidente:</label> <div class="col-sm-10"> <?php echo form_textarea(array('class'=>"form-control", 'name'=>'recomendacaoform','id'=>'recomendacaoform'), set_value('recomendacaoform')); ?> </div> </div> <div class="form-group"> <label class="col-sm-2 control-label">Adicionar acidentado:</label> <div class="col-sm-10"> <?php echo form_button(array('name'=>'adicionarAcidentado','id'=>'adicionarAcidentado'), "+"); ?> </div> </div> <div class="form-group"> <div class="col-sm-offset-2 col-sm-10"> <?php echo form_button(array('name'=>'cadastrar', 'ng-disabled'=>'formAcidente.$invalid'),"Cadastrar"); ?> </div> </div> <p><?php echo $erro; ?></p> </div> <script src="<?php echo base_url(); ?>js/angular.min.js"></script> <script src="<?php echo base_url(); ?>js/acidente.js"></script> </div> Abaixo o arquivo javascript acidente.js // criar angular app var acidenteApp = angular.module('acidenteApp', []); acidenteApp.controller('AcidenteController', function AcidenteController($scope) { console.log('teste'); });
  13. marcelobbt

    Diferenciar maiúsculas de minúsculas

    Que pena. Entendi. Bem vou ter que ver uma outra forma de evitar esse problemas.
  14. marcelobbt

    Diferenciar maiúsculas de minúsculas

    Em casa utilizo o xampp e na instalação padrão dele ele não diferencia maiúsculas de minúsculas ao colocar um endereço, no entanto, ao subir o site para o servidor ele faz a diferenciação e alguns endereços acabam por não funcionar. Então queria mudar a configuração do meu PC (XAMPP) para que eu pudesse detectar esses erros na edição, evitando surpresas ao subir o site. Exemplo: www.meuendereco.com/umaPagina funciona igual a www.meuendereco.com/umapagina no meu PC, mas no servidor da erro. Como altero essa configuração no servidor?
  15. marcelobbt

    Função __get() não funciona corretamente

    Fiz uma classe no PHP Codeigniter mas ela só não está funcionando com a variável 'idUsuario'. Alguma explicação? Existem algumas palavras que são restritas no CodeIgniter? Resolvi alterando a variável para public e chamando ela diretamente. exemplo: echo $pessoa->idUsuario. Outro dia tive um problema parecido com a palavra 'data'. Resolvi alterando o nome mas está muito esquisito esses erros. Será que alguém tem alguma explicação? Abaixo a classe: class Usuario extends CI_Model { public $idUsuario; private $usuario; private $email; private $senha; private $nivel; public function __construct ($idUsuario=NULL, $usuario=NULL, $email=NULL, $senha=NULL, $nivel=NULL) { parent::__construct(); $this->idUsuario = $idUsuario; $this->usuario = $usuario; $this->email = $email; $this->senha = $senha; $this->nivel = $nivel; } public function __get($nome) { switch (strtolower($nome)){ case 'idUsuario': echo "foi"; return $this->idUsuario; case 'usuario': return $this->usuario; case 'email': return $this->email; case 'senha': return $this->senha; case 'nivel': return $this->nivel; } } public function __set($nome, $valor) { switch (strtolower($nome)){ case 'idUsuario': $this->idUsuario = $valor; case 'usuario': $this->usuario = $valor; case 'email': $this->email = $valor; case 'senha': $this->senha = $valor; case 'nivel': $this->nivel = $valor; } } }
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.