
Vinicius Espindola
Membros-
Total de itens
8 -
Registro em
-
Última visita
Tudo que Vinicius Espindola postou
-
Pessoal, Vi em algum lugar no google há uns tempos atrás que, a partir da versão do php 5.3.0, é possível declarar a função similar do Java: class Pessoa { private nome; private idade; //demais setters e getters public Pessoa() { } public Pessoa informacoes() { Pessoa pessoa = new Pessoa(); pessoa.setNome("Vinicius"); pessoa.setIdade("23"); return pessoa; } } Alguém sabe como declarar corretamente, e se possível, informar alguma fonte? Tentei procurar até a página oficial do php e nada. Obrigado.
-
(Resolvido) Criar atalhos tipo Ctrl + Key
pergunta respondeu ao Rafael Laurindo de Vinicius Espindola em Ajax, JavaScript, XML, DOM
Rafael, Segue abaixo. Testei no Firefox e já deu tudo certo. tab = function(obj) { var txt = obj.value; obj.value = txt + '\t'; }; captureCommand = function (event, obj) { var key = String.fromCharCode(event.charCode).toLowerCase(); if (event.ctrlKey) switch (key){ case 't': tab(obj); event.preventDefault(); } }; Para maiores informações: https://developer.mozilla.org/en/DOM/event.preventDefault Abrs., Vinicius. -
(Resolvido) Javascript não funciona.
pergunta respondeu ao +.jr_Designer.+ de Vinicius Espindola em Ajax, JavaScript, XML, DOM
O seu javascript não funciona? É lógico que funciona! O que não está funcionando é o HTML. Você informou o "nema" ao invés de "name" em selector <form> <form nema="form" method="post" action="#" onsubmit="return validaCampos()"> Abrs. -
(Resolvido) Criar atalhos tipo Ctrl + Key
pergunta respondeu ao Rafael Laurindo de Vinicius Espindola em Ajax, JavaScript, XML, DOM
Rafael, É possível sim. Segue o link: http://www.scottklarr.com/topic/126/how-to...-in-javascript/ Sugestão: Além da descrição do seu tópico, acredito que a descrição deveria ser assim "Como criar atalhos Ctrl + Key Em Javascript". Um abraço, Vinicius. -
Pessoal, Este desafio está tão perigoso para mim. Desenvolvi um plugin para minha empresa. Para chamar um plugin, basta informar o código abaixo: $(this).validateAudience({module: 'specific', specific: 'dateAll["#nome_da_id"]'}); Neste plugin, o modelo da função está assim: $.fn.validateAudience = function(settings) { if(settings) { try { //currying - techniques javascript. execute( add(settings)); return true; } catch(error) { cancel(error.description); } } else { alert("Unable to call validateAudience. It's need specific parameter."); } }; E a função execute() está assim: var execute = function(settings) { module[settings.module].apply( this, arguments); } Onde, em module, está assim: var module = { specific: function(settings) { input[settings.specific].apply( this, arguments ); } Onde a função input, está assim: var input = { dateAll: function(parameter) { /* é aqui que quero que a função receba o parametro */ }, } Alguém tem idéia de como faço que a função dateAll receba o parâmetro informado a partir no primeiro código na tela, como abaixo: $(this).validateAudience({module: 'specific', specific: 'dateAll["#nome_da_id"]'}); É claro que, se descrever apenas "dateAll" ao invés de "dateAll["#nome_da_id"]", como abaixo, o código funciona. Mas quero que ela receba o parametro. $(this).validateAudience({module: 'specific', specific: 'dateAll["#nome_da_id"]'}); De qualquer forma, para quem deseja vizualizar o conteúdo completo do plugin que criei para minha empresa, segue abaixo: (function ($) { $.fn.validateAudience = function(settings) { if(settings) { try { execute( add(settings)); return true; } catch(error) { cancel(error.description); } } else { alert("Unable to call validateAudience. It's need specific parameter."); } }; /** * Cancels this function (validateAudience) and redirect in $URL_DEFAULT */ var cancel = function(description) { $("form").attr("action","#"); //modify in attr 'form' to garant $.blockUI({ message: '<h1><img src="'+$URL_DEFAULT+'img/ajax.gif" width="16" height="16" /> Desculpe. Houve um erro interno no sistema. O erro é ' + description + ' Redirecionando...</h1>', timeout: 2000 }); //window.location.replace($URL_DEFAULT); } /** * Start of the function to execute validateAudience. */ var execute = function(settings) { module[settings.module].apply( this, arguments); //or (this, arguments). } /** * Extends and defines options. */ var add = function(settings) { var defaults = { module: 'audience', //it's group specific: null, //it's specific } settings = $.extend(defaults, settings); // write on the default options with the send options. return settings; } var module = { audience: function() { input.federalUnit(); input.companyName(); input.telephoneAuthor(); input.typeRegistrationPerson(); input.connect0800(); input.resultApuration(); input.qualityApuration(); input.dateAll(); input.timeAll(); input.accordType(); input.payment(); input.paymentMaskAll(); input.paymentPriceKeypress(); input.paymentCodeKeypress(); input.paymentPriceBlur(); input.advocacyPresent(); input.contestationBy(); input.formApresentation(); input.lawyerPunctual(); input.lawyerDelayTime(); }, specific: function(settings) { input[settings.specific].apply( this, Array.prototype.slice.call( arguments, 0 ) ); } } var input = { federalUnit: function() { $("#uf,#odc").change( function() { if(($("#uf").val() != "") && ($("#odc").val() != "")) { $().showDiv({divs: 'relation-entity', ids: 'uf,odc,page', urls: 'http://localhost/preposto/ajax/get-list-entity.php'}); $().showDiv({divs: 'relation-office-advocacy', ids: 'uf,odc,page', urls: 'http://localhost/preposto/ajax/get-list-office-advocacy.php'}); $().showDiv({divs: 'relation-employer', ids: 'uf', urls: 'http://localhost/preposto/ajax/get-list-employer.php'}); } } ); }, companyName: function() { $("#empresa").change( function() { if($(this).val() == "Outros - Especificar") { $("#empresa_especificar").val('').removeAttr("readonly").attr("class", "validate[required] input-default").bestupper(); } else { $("#empresa_especificar").val('').attr("readonly", "readonly").unbind(); } }); }, telephoneAuthor: function() { $("#telefone_autor").mask("(99) 9999-9999", {placeholder: " "}); }, typeRegistrationPerson: function() { $('#tipo_registro').change( function() { $(this).alterClassValue(); }); }, connect0800: function() { $("#conseguiu_ligar_0800").change( function() { $value = $(this).val(); if(($value == "não FOI NECESSARIO") || ($value == "")) { $("#bloc-0800 :input").not('#conseguiu_ligar_0800').attr("disabled", "disabled").attr("class", "input-default").val(''); } else if ($value == "não") { $("#periodo_ligacao_0800").removeAttr("disabled").attr("class", "validate[required] input-default").val(''); $("#bloc-0800 :input").not('#conseguiu_ligar_0800,#periodo_ligacao_0800').attr("disabled", "disabled").attr("class", "input-default").val(""); } else { $("#bloc-0800 :input").not('#conseguiu_ligar_0800').removeAttr("disabled").attr("class", "validate[required] input-default").val(''); } }); }, resultApuration: function() { $("#resultado_apuracao").change( function() { var $value = $(this).val(); if($value != "Sem Apuracao"){ $("#bloc-apuration :input").not('#resultado_apuracao').removeAttr("disabled").attr("class", "validate[required] input-default").val(''); } else { $("#bloc-apuration :input").not('#resultado_apuracao').attr("disabled", "disabled").attr("class", "input-default").val(''); } }); }, qualityApuration: function() { $("#qualidade_apuracao").change( function() { var $value = $(this).val(); if($value == "Ruim") { $("#justificativa_apuracao").removeAttr("disabled").attr("class", "validate[required] input-default").val(""); } else { $("#justificativa_apuracao").attr("disabled", "disabled").attr("class", "input-default").val(""); } }); }, dateAll: function(parameter) { /* é aqui que quero que a função receba o parametro*/ }, timeAll: function() { /* primeiro each de todas as ids. e criar um novo array caso elas existam. se possível, com parametro. */ $("#horario_audiencia_inicio,#horario_audiencia_final,#hora_proxima_audiencia,#hora_convolada,#hora_retirada_pauta,#hora_leitura_sentenca").mask("99:99", {placeholder: " "}); }, accordType: function() { $("#tipo_acordo").change( function() { $value = $(this).val(); if(($value == "Sem Acordo") || ($value == "Processo Extinto") || ($value == "Sentenca Improcedente") || ($value == "Retirada da Pauta") || ($value == "Leitura de Sentenca") || ($value == "Concluso (Vara Civel)")) { $("#bloc-payment :input").attr("disabled", "disabled").attr("class", "input-default").val(""); if($value == "Retirada da Pauta"){ $("#data_retirada_pauta,#hora_retirada_pauta").removeAttr("disabled").val(""); } if($value == "Leitura de Sentenca") { $("#data_leitura_sentenca,#hora_leitura_sentenca").removeAttr("disabled").val(""); } } else { $("#bloc-payment :input").removeAttr("disabled").attr("class", "input-default").val(""); $("#pagamento,#autorizado_por").attr("class", "validate[required] input-default").val(""); $("#bloc-payment :input[id^='codigo']").attr("class", "validate[optional,custom[onlyNumber]] input-default").val(""); $("#bloc-payment :input[id^='valor']").attr("class", "validate[optional,custom[price]] input-default").val(""); } }); }, payment: function() { $("#pagamento").change( function() { $value = $(this).val(); if($value == "SIM") { $("#bloc-payment :input").not("#pagamento").removeAttr("disabled").attr("class", "input-default").val(""); $("#bloc-payment :input[id^='codigo']").not("#pagamento").attr("class", "validate[optional,custom[onlyNumber]] input-default").val(""); $("#bloc-payment :input[id^='valor']").not("#pagamento").attr("class", "validate[optional,custom[price]] input-default").val(""); $("#autorizado_por").attr("class", "validate[required] input-default").val(""); } else { $("#bloc-payment :input").not("#pagamento").attr("disabled", "disabled").attr("class", "input-default").val(""); } }); }, paymentMaskAll: function() { /* fazer um each function. com parameters, se possível. */ $("#valor_dinheiro,#valor_cancelamento,#valor_credito,#valor_retificacao,#proposta_oi,#proposta_cliente").maskMoney({symbol: "R$", decimal: ",", thousands: "."}); }, paymentPriceKeypress: function() { $("#bloc-payment :input[id^='valor_']").keypress( function(index) { $id = $(this).attr("id"); $split = $id.split("_"); $valueId = "codigo_"+$split[1]; if($(this).val() == "R$ 0,00") { $("#bloc-payment :input[id^='"+$valueId+"']:first").attr("class", "validate[optional,custom[onlyNumber]] input-default"); } else { $("#bloc-payment :input[id^='"+$valueId+"']:first").attr("class", "validate[required,custom[onlyNumber]] input-default"); } }); }, paymentCodeKeypress: function() { $("#bloc-payment :input[id^='codigo_']").keypress( function(index) { $id = $(this).attr("id"); $split = $id.split("_"); $valueId = "valor_"+$split[1]; $("#bloc-payment :input[id^='"+$valueId+"']:first").attr("class", "validate[required,custom[onlyNumber]] input-default"); }); }, paymentPriceBlur: function() { $("#bloc-payment :input[id^='valor_']").blur( function() { $id = $(this).attr("id"); $split = $id.split("_"); $valueId = "codigo_"+$split[1]; if($(this).val() == "R$ 0,00") { $(this).val(""); $("#bloc-payment :input[id^='"+$valueId+"']:first").attr("class", "validate[optional,custom[onlyNumber]] input-default"); } }); }, advocacyPresent: function() { $("#advogado_presente").change( function() { $value = $(this).val(); if($value == "SIM") { $("#bloc-office-advocacy :input").not("#advogado_presente,#contestacao_apresentada_por,#forma_apresentacao").removeAttr("disabled").attr("class","validate[required] input-default").val(""); } else{ $("#bloc-office-advocacy :input").not("#advogado_presente,#contestacao_apresentada_por,#forma_apresentacao").attr("disabled","disabled").attr("class","input-default").val(''); $("#contestacao_apresentada_por,#forma_apresentacao").attr("class","validate[required] input-default").val(''); } }); }, contestationBy: function() { $("#contestacao_apresentada_por").change( function() { $value = $(this).val(); if($value == "Contestacao não apresentada") { $("#forma_apresentacao").val("Contestacao não apresentada"); } else { $("#forma_apresentacao").val(""); } }); }, formApresentation: function() { $("#forma_apresentacao").change( function() { $this = $(this); $value = $(this).val(); if($value == "Contestacao não apresentada") { if($("#contestacao_apresentada_por").val() != "Contestacao não apresentada") { $this.val(""); } } else { if($("#contestacao_apresentada_por").val() == "Contestacao não apresentada") { $this.val("Contestacao não apresentada"); } } }); }, lawyerPunctual: function() { $("#advogado_pontual").change( function() { $value = $(this).val(); if($value == "SIM") { $("#tempo_atraso").val("Sem Atraso"); } else { $("#tempo_atraso").val(""); } }); }, lawyerDelayTime: function() { $("#tempo_atraso").change( function() { $value = $(this).val(); if($value == "Sem Atraso") { if($("#advogado_pontual").val() != "Sem Atraso") { $(this).val(""); } } else { if($(this).val != "") { if($("#advogado_pontual").val() == "SIM") { $(this).val("Sem Atraso"); } } } }); }, } })(jQuery); /** * Onload document default. */ $(document).ready(function (){ $(this).validateAudience({module: 'specific', specific: 'dateAll["teste"]'}); });
-
Olá Pessoal, Alguém sabe como documentar o código de um plugin do JQuqery, em uma determinada função, para que, em seguida, alguns editores possam demonstrar os comentátrios através do Code Assist ou Content Assist? Por exemplo: (function ($) { /** * BestUpper é a função onde transformará todas as letras em maiúsculas em todos os campos envolvidos. * @return this */ $.fn.bestupper = function (settings) { //code statement... //code statement... //code statement... }, settings = $.extend({}, defaults, settings); Tentei pesquisar no google e neste fórum, mas sem sucesso. Alguém dá-me uma luz? Obrigado, Vinicius.
-
OOP em JavaScript
pergunta respondeu ao Vinicius Espindola de Vinicius Espindola em Ajax, JavaScript, XML, DOM
Oi Jonathan, Obrigado pela resposta. No entanto, vamos supor que, futuramente, o método "Start" precisa receber a variável local "nome", ou "x", ou "y", ou "qualquer coisa" da "Classe". Portanto, o meu objetivo é obter a informação do "nome", ou "x", ou "y", ou "qualquer coisa", para em seguida, providenciar o método do "Start". Teoricamente, tudo indica que deverei "extender" (herança) no "Start" à essa "Classe". Mas não sei se estou certo à esse ponto. À principio, estou estudando diversas maneiras em como trabalhar OOP em JavaScript para, antes, eu decidir se será REALMENTE viável eu mudar a programação de JavaScript do meu projeto para OOP sem sofrer possíveis fortes dores de cabeça futuramente. Atualmente, aplico OOP somente na linguagem PHP, o qual tenho profundo conhecimento em interagir diversas maneiras (Interface, Polimorfismo, Herança, Constante, Abstrato, etc). No mais, obrigado desde já, Jonathan. Um abraço, Vinicius. -
Pessoal, Ultimamente, estou dando mais atenção especial sobre OOP em Javascript. Tentei criar uma classe Pessoa, como mostra o código abaixo. No entanto, criei uma outra função "Start", cujo objetivo é demonstrar o que tem dentro no atributo "nome". Não quero deslocar esta função "Start" para dentro da "Class", apenas separado. No entanto, não entendo o porquê não estar funcionando dessa maneira e qual seria a sua solução. Segue abaixo: var Pessoa = { New : function(nome, idade){ return new this.Class(nome, idade) }, Class : function( nome, idade ){ this.nome = function(n){ return n ? nome = n : nome } this.idade = function(i){ return i ? idade = i : idade } }, Start: function() { alert(this.nome); } } onde para instanciar, será: var Edu = Pessoa.New("Eduardo Ottaviani", 25), e para chamar o que tem na variável this.nome, será: Pessoa.Start(); Como desejei separar "Start", após a classe, ao invés de criar uma função para dentro da "Class", eu não estou conseguindo expressar o resultado dessa maneira. Podem me dar uma luz e tbém explicarem porque não funciona dessa maneira? PS: a origem da dúvida foi em http://javiani.wordpress.com/2009/12/27/or...uages-patterns/ . Tentei postar um comentário lá, mas sempre está fora do ar. Um abraço, Vinicius.