Ir para conteúdo
Fórum Script Brasil

KaKarotto

Vencedores de desafio
  • Total de itens

    1.243
  • Registro em

  • Última visita

Tudo que KaKarotto postou

  1. Primeiro coloca isso em um container...um form de preferência: <form> <input type="button" name="todos" value="Todos" class="botao_modulo" onclick="checatodos(this.form)"> <input type="checkbox" name="not_news" value=""> <input type="checkbox" name="not_news" value=""> <input type="checkbox" name="not_news" value=""> </form> Depois, você vasculha os elementos, se estiverem checados, você "descheca" hauhuaahuahu e vice-versa. function checatodos(form){ var checkboxes=form.document.getElementsByTagName("input") for(var x=0; x<checkboxes.length; x++) if(checkboxes[x].type=="checkbox") if(checkboxes[x].checked) checkboxes[x].checked=false else checkboxes[x].checked=true }
  2. Não tem problema Daniel. Eu acho que peguei meio pesado com você. Forcei a barra. Quando estudar sobre estrutura de dados ou estiver bem craque em Js, pensamos na melhor forma pra resolver este problema seu. Vamos para a gambiarra então? :D Esquece meu código, pega aquele seu antigo. Você já tinha todas as funções feitas, só faltava colocar uma função que somasse certo? Eis ela: function somatoria(textarea){ var t=document.getElementById(textarea) var linhas=t.value.split("\n") var somatoria=0 for(var y=0; y<linhas.length; y++){ var total=( typeof linhas[y].split("Total")[1]!="undefined" ? linhas[y].split("Total")[1].split("R$")[1]:0 ) somatoria+=parseFloat(total) } t.value+="\n\n Total dos valores: " + somatoria } O que essa função faz é o seguinte. Ela pega um textaarea e procura pelas palavras "Total", e armazena seu valor. Eu acabei de fazer essa função, então NUNCA testei na vida, só aqui num exemplo que você mesmo me passou no primeiro post. Então é bom testar ela varias vezes sob várias condições. Ela quebra a string toda digitada no textarea em várias linhas. A linha que não contiver o Total vale 0, a linha que tiver o Total vale o valor do total. Soma-se tudo e o valor esperado é a somatória dos totais. A chamada da função é somatoria(parametro) e como parâmetro você coloca o id do seu textarea. Ex: somatoria('mensagem'). Ali no finalzinho do código eu pulei duas linhas (\n\n) E escrevi o total dos valores. Importante!!! A função vai funcionar apenas se a estrutura for aquela que você mostrou antes: Será que agora vai ?!?!?! rsrsrs Aquele abraço. Se tiver dúvida eu te explico.
  3. Ahhh tahh..claro, eu não pensei nessa hipótese. É só percorrer os selects existentes. Ó: var validaSelect=function(form){ var select=form.getElementsByTagName("select") var valida=0 for(var x=0; x<select.length; x++) if(select[x].selectedIndex!=0) valida+=1 if( valida > 1 || valida == 0 ) return false return true } Chama a validaSelect(form) passando o objeto form como parâmetro. Ele vai percorrer os selects, cada vez que a função acha um select com opção escolhida ele incrementa uma variável contadora. No final ele verifica se a variável é maior que 1 (mais de uma opção foi selecionada) ou se é igual a 0 (nenhuma opção foi selecionada). Era isso? Aquele abraço.
  4. Vou baixar umas 20hs...quero ver como vai ficar.
  5. Alexandre...isso vai contra o propósito da funcionalidade do elemento select. Se você apenas pode escolher uma opção, oras, porque não coloca os valores todos no mesmo select? :huh:
  6. Então Gui, esquece esse código aí rsrsrs. Seguinte, olha só o que eu fiz agora: window.onload=function(){ form=document.getElementById("formulario") var select=form.getElementsByTagName("select")[0] for(var y=0; y<select.options.length; y++){ if(QueryString("escolhido")==null) break if( select.options[y].innerHTML== QueryString("escolhido") ) select.removeChild(select.options[y]) } select.onchange=function(){ send(this.options[this.selectedIndex].innerHTML) } } Aqui eu fiz uma forma passando as variáveis escolhidas por query string. O código faz o seguinte: 1 - Pega o elemento select, se não houver querystring: Ele adiciona um evento para o select, evento que ao mudar o valor é mandado o valor escolhido para a função send, que será uma função que vai abrir a nova página, mandando a query string. Caso houver query string: Ele verifica no select qual option tem o mesmo valor que a query string e remove o option do select. Contudo, todavia, porém, entretanto, você deve ter a função QueryString, que é essa Então você colocaria essas duas funções em todas as 3 paginas. Você teria que mudar apenas a função send, que seria uma função que abriria a nova página e alterar o form pego pelo document.getElementById() no inicio do window.onload, que pode mudar de página para outra. Sacou? Aquele abraço.
  7. Então a dificuldade que está tendo é de gerar números aleatórios de ponto flutuante nos intervalos, certo? A geração dos números aleatórios está funcionando, o que você não consegue é saber como fazer para gerar os números aleatórios nos intervalos que sejam em ponto flutuante. É isso ? O que eu imagino é que esteja pensando: "Pow, que conta eu devo fazer para gerar os números em ponto flutuante naquele intervalo?" É mais ou menos essa a dificuldade que está tendo?
  8. KaKarotto

    Fontes

    fontes Css?? Bom, por lógica não são fontes: Arial, Comic Sans Ms, Tahoma. rsrsrs Tem o w3schools.com, tableless.com.br, maujor.com. Os melhores lugares são em inglês, então se souber será interessante. Fatalmente você cairá em mais links interessantes ao visitar qualquer um desses 3 sites. Aquele abraço.
  9. Andreiaaaaaaaaa.

    OOOOi. o/

    É a chefinha mais linda e legal e brava e gente fina.

    Ainda não descobri pra que você serve nesse fórum. rsrs

    Brincadeira... me add como seu migu. =D

  10. Ahhh tahh.... Ó: http://www.cbrasil.org/wiki/index.php?titl...ar_em_C:_randon Ajuda?
  11. Não, não. Eu não coloquei em text area nem fiz a conta da multiplicação. A única coisa que fiz foi colocar aquele esquema numa estrutura de dados que seja fácil de trabalhar. No seu caso, você vai ter apenas 1 cliente, então sempre vai ser Cliente[0].algumaCoisa. Aquela estrutura html anterior estava um pouco mal formulada. Fica mais dificil mexer com o Js assim. E usa muito código que o iE apenas entende. Para fazer a multiplicação de QTD x Custo é só fazer: Cliente[0].Produtos[0].Quantidade * Custo. Para o primeiro produto. Colocar em um textarea é só fazer: var textarea=$('texto') textarea.value+="Nome: "+Cliente[0].Nome+"\n" textarea.value+="Obs: "+Cliente[0].Obs Etc... Se você alterar os id´s dos inputs o Js muda também. Se ao invés de Cliente[0].Produtos[0].Quantidade você quisesse Cliente[0].Produtos[0].quant você trocaria o html: <label>Quantidade<input type="text" id="quant" /></label> A intenção era apenas mostrar um exemplo de como fazer essa estrutura, não de refazer o seu código. Eu não sei o quanto manja de Js, então eu propus uma sugestão considerando que já sabe mexer com objetos. ^_^ Aquele abraço.
  12. KaKarotto

    Fontes

    aahhauahuahauahuahuahauahuahuahauh shelter...eu quis dizer que não entendi nada do que disse. Quando eu falei "Em Português, por favor", quis dizer para que melhorasse o seu português. Não dá pra saber o que você quer...
  13. Oi pra todo mundo o/. Eu andei conversando com o outro moderador da área e fui liberado para postar esse tópico de destaque. Não sei se vocês conhecem o site do Zen Garden, a grosso modo é um site para demonstrar a força do Css. É colocado um link com um html e os designers mandam seus arquivos .css para mudar a cara do html padrão. Mas nesse site é necessário um conhecimento muito grande de Css e só são postados os melhores trabalhos em matéria de design. A minha intenção com esse tópico é fazer uma "cópia" bem da sem vergonha rsrs. Como a maioria está aprendendo não é necessário ser expert nem em design nem em Css. Porém, eu peço que postem códigos em Css ou o link de um Css pronto que mude a estrutura deste XHTML 1.0 transitional. O que eu pretendo com esse tópico? 1º - Aprender. 2º - Muitos membros postam seus problemas com Css, mas o html é extremamente mal formulado, com tabelas pra tudo quanto é lado. Este post seria um bom lugar para aprender como fazer um layout bem feito. 3º - Nem todo mundo tem como visualizar o seu Css em todos os browsers e em todas as plataformas. Então, com seu Css postado aqui, qualquer outra pessoa poderia pegar seu Css pronto para usar e se um dia vir problemas, reportaria aqui, postando seus defeitos. 4º - Servir de repositório de layouts prontos para os membros não precisarem começar do zero. Apenas pegariam um código que foi testado, pelo menos pela pessoa que postou, e usaria às suas necessidades. A idéia não é ficar postando maravilhas de layout, apenas a sua estrutura, sua funcionalidade. Bem cru mesmo. A princípio não estou preocupado com a estrutura Html, se ela contêm ou não todas as tags que deveria e essas coisas. Apenas com o layout geral do site, mas nada impede que postem códigos mais elaborados. Quando um membro postar um Css sem link, eu posso mandar esse Css para meu servidor e postar neste tópico inicial seu link, para facilitar, para que a pessoa possa simplesmente juntar dois links e ver o resultado. Juntar dois links? Sim, eu coloquei a estrutura html online, você só precisa acrescentar a url do Css na variável url do endereço, para visualizar. Exemplo: http://edu.110mb.com/framework.php?css=http://meusite.com/meuCss.css Eu sei muito bem que corro o risco enorme de postar um tópico que ficará as moscas e cheio de teia de aranha, mas pelo menos a minha parte estou fazendo. :) Quero deixar claro que essa idéia não irá pra frente sem a contribuição dos membros, testando, reportando erros, postando novos Layouts. Então, é com vocês. Eu postei, mas o tópico é de todo mundo. Está aberto para sugestões e críticas. Estrutura html: http://edu.110mb.com/framework.php?css= Minha primeira contribuição: Layout Líquido de 3 colunas url:http://edu.110mb.com/teste.css Testado em: Linux: Konqueror, Firefox beta 5. Windows: Firefox beta 5, iE6, iE7. Vizualização: http://edu.110mb.com/framework.php?css=htt...b.com/teste.css Obs: Coloquei bordas, para vizualizarem onde está cada parte (div) do html. Líquido, ou seja, ele se ajusta conforme o redimensionamento do browser.
  14. Oi Alexandre. A idéia da sua aplicação é usar vários divs ná página? Cada um sendo de um determinado estado? Tipo, eu posso ir lá e clicar em dois estados, aí vai ficar aparecendo vários divs? Cada um com seu reespectivo estado? O ul não tem li´s. E é uma boa prática colocar os divs dos estados fora da tag ul.
  15. Ó, considere esse html: <form> <fieldset id="cliente"> <label>CLIENTE/BAIRRO:END:<input type="text" id="Nome" /></label> <label>OBS:Boleto/Nota/CNPJ/INSC<input type="text" id="Obs"></label> <label><input type="button" value="Inserir cliente" onclick="novoCliente($('Nome'), $('Obs'))" /></label> </fieldset> <fieldset id="produtos"> <label>Quantidade<input type="text" id="Quantidade" /></label> <label> Produtos <select> <option>Item 1</option> <option>Item 2</option> <option>Item 3</option> <option>Item 4</option> <option>Item 5</option> <option>Item 6</option> <option>Item 7</option> </select> </label> <label>ETQ R$<input type="text" id="ETQ" /></label> <label>Preço de Custo<input type="text" id="PC" /></label> <label>Total<input type="text" id="Total" /></label> <label><input type="button" value="Inserir produto" onclick="insereProduto($('produtos'))" /></label> </fieldset> </form> É sempre bom tratar tudo como se fosse objeto, assim fica fácil manipular os dados. O script: <script type="text/javascript"> var $=function(id){return document.getElementById(id)} var ponteiro=null var Cliente=[] function novoCliente(nome, obs){ ponteiro=(ponteiro==null)?0:ponteiro+1 Cliente.push({"Nome":nome.value, "Obs":obs.value, "Produtos":"null"}) } function insereProduto(obj){ var produtos=obj.getElementsByTagName("input") var aux={} for(var x=0; x<produtos.length; x++) if(produtos[x].type=="text") aux[produtos[x].id]=produtos[x].value if(Cliente[ponteiro].Produtos=="null") Cliente[ponteiro].Produtos=[] aux.item=obj.getElementsByTagName("select")[0]. options[obj.getElementsByTagName("select")[0].selectedIndex].innerHTML Cliente[ponteiro].Produtos.push(aux) } </script> Destrinchando o Js: var ponteiro=null var Cliente=[] A princípio, você não tem clientes. Então o ponteiro não terá valor. E seu vetor de clientes é vazio. function novoCliente(nome, obs){ ponteiro=(ponteiro==null)?0:ponteiro+1 Cliente.push({"Nome":nome.value, "Obs":obs.value, "Produtos":"null"}) } Na hora de inserir o Cliente, se o ponteiro for null ( não existir clientes cadastrados ainda) ele inicia ( ponteiro = 0 ) Caso já existir clientes cadastrados, esse ponteiro será incrementado ( ponteiro+1) O vetor Cliente na primeira inserção terá o nome digitado no campo de id "Nome" e Obs do campo digitado de id Obs. A estrutura do dado Cliente ficará assim: Cliente[0] Cliente[0].Nome="Fulano de tal" Cliente[0].Obs="Meu Cnpj" Cliente[0].Produtos=null Ao inserir um produto: function insereProduto(obj){ var produtos=obj.getElementsByTagName("input") var aux={} for(var x=0; x<produtos.length; x++) if(produtos[x].type=="text") aux[produtos[x].id]=produtos[x].value if(Cliente[ponteiro].Produtos=="null") Cliente[ponteiro].Produtos=[] aux.item=obj.getElementsByTagName("select")[0]. options[obj.getElementsByTagName("select")[0].selectedIndex].innerHTML Cliente[ponteiro].Produtos.push(aux) } A variável produtos da função vai pegar todos os input´s do tipo texto e armazenará os valores na variável do tipo objeto aux: aux.Quantidade=10 aux.ETQ=20 aux.PC=56 aux.Total=76 Se o Cliente atual (Cliente[0] no primeiro caso) não tiver produtos escolhidos ainda, ele a inicia (Cliente[ponteiro].Produtos=[]) Então ele manda essa variável aux para dentro do vetor produto daquele cliente: Cliente[ponteiro].Produtos.push(aux) No final de tudo isso você tem a seguinte estrutura: Cliente[0] Cliente[0].Nome="Fulano de tal" Cliente[0].Obs="Meu Cnpj" Cliente[0].Produtos[0].ETQ Cliente[0].Produtos[0].PC Cliente[0].Produtos[0].Quantidade Cliente[0].Produtos[0].Total Agora fica muito fácil somar todos os produtos de um determinado cliente, ou de vários clientes. Se quiser pegar o valor total de um determinado cliente, você terá de percorrer todos os produtos daquele cliente e pegar os totais: var total=0 for(var x=0; x<Cliente[0].Produtos.length; x++) tota+=Cliente[0].Produtos[x].Total No final a variável total vai estar somada. O importante é você criar uma estrutura de dado para tratar os valores. Passar pro textarea, ou fazer qualquer operação como a soma de totais fica extremamente fácil. Deu pra entender? Exagerei um pouco? Aquele abraço.
  16. Agora a coisa muda de figura. O negócio é que antes de inserir no textarea, esses dados devem ficar armazenados em algum lugar. Você não está definitivamente utilizando o melhor método para fazer esse tipo de aplicação, a solução para isso fica meio complicada de se achar. Posso pensar em uma forma que tinha comentado em outro post sobre o carrinho de compras. Mas vou precisar de tempo, como estou vagabundiando, não é problema fazer. Eu estava pensando em postar sobre isso na área de códigos prontos, então eu usaria o código que desenvolvi aqui para postar lá. Não sei quanto tempo você tem para fazer isso.
  17. Uffa... "minganei" então, era coincidência. Tá vendo, fui julgar o livro pela capa.... Nossa kuroi, você é estressado véio rsrs, ó a dor de cabeça aí... É uma realidade triste mesmo. Mas isso não é papel deles, pense que o papel "altruísta" deles já é nos fornecer um ótimo software, de graça. Se montassemos uma empresa de Ti pensando em resolver os problemas mundiais, estaríamos perdidos. Penso eu que não devemos ficar revoltados com atenções dadas à futilidades, deveríamos ficar revoltados com a falta de atenção dada às não-futilidades. Eu ainda acho que a maioria dos problemas que se refere devem ser resolvidos pelas pessoas, que são a maioria. Esses problemas são causados pela ignorância de milhões de pessoas, que ainda votam nos seus presidentes por um par de meia. Não há revoluções, há muito conformismo. E eu acho que eles se preocupam em fazer ele funcionar direito, se preocupam com a parte "séria" e com a parte "fútil". Tipo, meu warning deve estar nos 90% né, o cara off-topic.
  18. Cara, gerar xml é uma tarefa mais usada para linguagem de servidor. O javascript tem apenas a tarefa de formatá-los, o Js serve como uma interface, convertendo os nodos xml em texto rico (rich text). Está fazendo esse sistema em que linguagem? Php? Asp? .NEt? python?
  19. HUm... Tá um pouco confuso pra mim. Então você não tem um textarea, você tem um text field? São vários inputs? Ou é apenas um textarea? Se for apenas um textarea, tem jeito de pegar as informações, porém é necessário serializar, pegar as strings e quebrá-las em várias partes. É um trabalho desnecessário, não valeria a pena fazer desta forma. Os campos são gerados por javascript ou os VALORES desses campos são gerados em javascript? Posta o código que já tem, ultimamente eu tenho entendido melhor os códigos...
  20. Desculpe a minha ignorância, o que seriam números homogêneos? Eu ainda não entendi o que quer e o que está dando errado. O que você quer? Seja direto. Quer gerar números randomicos do tipo float? int?
  21. Boa garoto...Olha lá eu complicando. Era só pra mostrar, não precisava armazenar né...É isso aí. Mas o vetor não era de 1000 posições? Faça as iterações com intervalos exatamente iguais aos do vetor ok? Parabéns. ;) Aquele abraço.
  22. Não existe essa propriedade. É justamente por essa e outras limitações que alguns desenvolvedores fazem seus próprios tooltips, em Css.
  23. KaKarotto

    Fontes

    Em português, por favor.
  24. Ahhh tah... tenta lá, qualquer dúvida posta o código. Já que é um exercício mais simples, poderia usar um outro vetor de 1000 posições para armazenar os valores dos indices do elemento achado no vetor. Não é uma boa prática, mas está só começando, mais tarde vai aprender a fazer direito. Lembrando que nesse caso sem usar alocação dinâmica de memória, é necessário mesmo um outro vetor de 1000 posições, para o caso improvável, mas possível, de dar 1000 vezes o mesmo número.
×
×
  • Criar Novo...