
Eduardo Penna
Membros-
Total de itens
20 -
Registro em
-
Última visita
Tudo que Eduardo Penna postou
-
Manipular formulário
pergunta respondeu ao alexandremanowar de Eduardo Penna em Ajax, JavaScript, XML, DOM
Boa tarde amigo. Se você consegui fazer o esquema com dropdown, esse é a mesma coisa... Você está usando XHTML? Bom, vou mostrar com HTML normal. Vamos pensar em um estado apenas e com o seguinte código: <ul> <li id="liEstado_<?=$reg[0]?>"><a href="#" onclick="loadCities('<?=$reg[0]?>')">São Paulo</a></li> </ul> Note que eu coloquei um id para o li para o javascript saber onde colocar o resultado da consulta via AJAX. Ok, então quando o usuário clicar no estado, vai chamar uma função javascript passando o id do estado clicado. Ae sua função deve chamar um página, no caso PHP, via AJAX passando o id do estado, como você fez com o dropdown. Na página em PHP, você recebe o id, faz a consulta e retorna algo assim: <ul> <li>São Paulo</li> <li>Itagua</li> <li>Poá</li> <li>Suzano</li> </ul> Maravilha, na sua função javascript você joga esse resultado, algo assim (usando aquele id colocado no li): (...) if(ajax.readyState == 4 ) { //Pega o li do estado clicado var liEstado = document.getElementById('liEstado_'+id); //Acrescenta o retorno nesse li liEstado.innerHTML = liEstado.innerHTML + ajax.responseText; } (...) Veja se é isso. Abraço -
Vamos lá. Primeiramente: var id = document.getElementById(id_prod); O que esse comando faz é pegar um objeto HTML pelo seu id e coloca-lo em uma variavel. Note que o id do seu produto e o id do input, provavelmente não serão os mesmos. O que você pode fazer é utilizar o id do produto, que vem da base de dados, e associar com uma string para gerar o nome da cada input no codigo, por exemplo: <input type="text" id="txtQuantidade_<?=$idProduto?>" name="txtQuantidade_<?=$idProduto?>" value="" /> Vamos supor que você tenha 3 produtos na tela, com os id's (da base) 1, 2 e 3. Então você teria 3 inputs para a quantidade, 3 para o valor unitário e 3 para total: <input type="text" id="txtQuantidade_1" name="txtQuantidade_1" value="" /> <input type="text" id="txtValorUnitario_1" name="txtValorUnitario_1" value="" /> <input type="text" id="txtTotal_1" name="txtTotal_1" value="" /> <input type="text" id="txtQuantidade_2" name="txtQuantidade_2" value="" /> <input type="text" id="txtValorUnitario_2" name="txtValorUnitario_2" value="" /> <input type="text" id="txtTotal_2" name="txtTotal_2" value="" /> <input type="text" id="txtQuantidade_3" name="txtQuantidade_3" value="" /> <input type="text" id="txtValorUnitario_3" name="txtValorUnitario_3" value="" /> <input type="text" id="txtTotal_3" name="txtTotal_3" value="" /> Bom, agora como fazer para pegar a quantidade de um determinado produto: você passa o id do produto (da base), contatena com a string que usou para o id dos inputs de quantidade (no caso "txtQuantidade_") e usa o getElementById para pegar o input específico. Usando aquele button que postei, a função ficaria assim: function alterar(id_produto) { //Pega o valor do campo quantidade e valor unitário var qntd = document.getElementById('txtQuantidade_'+id_produto).value; var valor = document.getElementById('txtValorUnitario_'+id_produto).value; //Joga a multiplicação no campo de total document.getElementById('txtTotal_'+id_produto).value = qntd * valor; } Veja se é mais ou menos por ai... Abraço
-
Boa noite amigo. Você não pode ter a declaração do mesmo evento 2 vezes no mesmo objeto, mas você pode ter várias funções dentro do mesmo evento: <form id="fil_par_mod" name="formcad" method="post" action="cad_filiais.php?acao=cad_filiais" onsubmit='getElementById("espera").value="Aguarde, enviando dados..."; getElementById("espera").disabled=true; return CriticaFormulario()'> Abraço
-
Boa noite amigos. O erro acontece porque quando você dá um explode no "aaaaaaaaaa" ele irá retornar um array com um único elemento. Mas depois você tenta passar para o checkdate os elementos 1, 2 e 3. Note que 2 e 3 nesse caso não existem. Para resolver, basta verificar o tamanho do array antes: $datarealizacao =$_POST['data']; $dataseparada = explode("/", $datarealizacao); if (count($dataseparada) == 3) { if (checkdate($dataseparada[1], $dataseparada[0], $dataseparada[2])==true) { $datarealizacao = $dataseparada[2] . "-" . $dataseparada[1] . "-" . $dataseparada[0]; } else { header('Location: admin-anivers-add.php?msg=datarealizacao-invalida'); break; } } else { header('Location: admin-anivers-add.php?msg=datarealizacao-invalida'); break; } Deve resolver. Dica: sempre post os código dentro das tags "code" para ficar mais fácil a visualização Abraço
-
Boa noite amigo, qual o problema de usar o .htaccess? Não entendi esse esquema do menu, pra que serviria? Abraço
-
Bom noite amigo, Não sei se entendi corretamente. Você quer passar para o javascript o id do produto? Se for isso, basta chamar uma função passando o id 'escrito' pelo php, algo assim: <input type="button" value="alterar" onclick="alterar('<?=$idProduto?>')" /> Evidentemente você deverá possuir um botão para cada produto. Abraço
-
(Resolvido) como aumentar um text área automaticamente
pergunta respondeu ao lkm de Eduardo Penna em Ajax, JavaScript, XML, DOM
Bom dia amigo, fiz um código rápido aqui: <script language="javascript"> function autoResize() { objTextArea = document.getElementById('txtTextArea'); while (objTextArea.scrollHeight > objTextArea.offsetHeight) { objTextArea.rows += 1; } } </script> <textarea id="txtTextArea" onkeydown="autoResize()"></textarea> Abraço -
como fazer uma janela sobre o site?
uma questão respondeu Eduardo Penna em Ajax, JavaScript, XML, DOM
Bom dia amigo, o que você quer é uma div sobreposta ao conteúdo do site e não uma janela (pop-up). Para isso, crie uma div com position absolute e coloque sua propaganda dentro dela. Quando clicar no fechar é só remover a div. Abraço -
Como verificar nº de caracteres usados?
pergunta respondeu ao seth de Eduardo Penna em Ajax, JavaScript, XML, DOM
Bom dia amigo, utilize document.getElementById('meuTextArea').innerText.length Abraço -
Desabilitar o input de um form caso os campos estejam em branco
pergunta respondeu ao Mestereko de Eduardo Penna em Ajax, JavaScript, XML, DOM
Boa noite amigo, experimento mudar para onkeyup Abraço -
Problema simples com Objeto de Flash
pergunta respondeu ao ReDNoS de Eduardo Penna em Ajax, JavaScript, XML, DOM
Boa noite amigo. Faça o seguinte, configure o objeto flash para transparente, coloque-o dentro de uma div e coloque a image de fundo na div. Abraço -
Função onmouseover não funciona!
pergunta respondeu ao Aprendiz RJ de Eduardo Penna em Ajax, JavaScript, XML, DOM
Boa noite amigo, o código no link está funcionando, embora eu recomende que você acrescente o atribuito "id" a sua imagem. Verifique se as imagens estão na mesma pasta que o arquivo. Abraço -
(Resolvido) Ajuda - background rotativo
pergunta respondeu ao blanzone de Eduardo Penna em Ajax, JavaScript, XML, DOM
Boa noite amigo, antes de responder, uma pergunta: Você a imagem e fundo rotativos mesmo (de tempo em tempo troca) ou aleatório (cada vez que carregar a página aparece uma)? Abraço -
Efetuar cálculo Divisor
pergunta respondeu ao Pedro Soaress de Eduardo Penna em Ajax, JavaScript, XML, DOM
Boa noite amigo, acabei de postar em outro tópico com essa solução. É simples: Multiplique seu número por 100 Arredonde o resultado Divida por 100 e pronto! Fica algo assim: var meuNumero = 0.26333333333333333333333333333333; meuNumero = meuNumero * 100; // fica 26.333333333333333333333333333333 meuNumero = Math.round(meuNumero); // fica 26 meuNumero = meuNumero / 100; // fica 0.26 Para mágica mas não é! AEUheaueah Note que estou usando ponto e não vírgula, se for pegar o valor de um input, você deve substituir as vírgulas por pontos e transformar em decimal com parseFloat. Faço a mesma recomendação que fiz no outro post. Não use javascript para fazer contas!!! Ele possui muitos bugs! Se não acredita, execute esse alert: alert(3.3/3); Abraço -
Criar Tabela De Orçamento Em Javascript
pergunta respondeu ao aaarte de Eduardo Penna em Ajax, JavaScript, XML, DOM
Boa noite amigo, isso foi o mais simples consegui fazer. Só um detalhes: é EXTREMAMENTE recomendável que você não faço contas com javascript pois ele possui muitos bugs de cálculos, isso quer dizer que dependendo da conta, o resultado sai errado. Mas vamos lá: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <script> function calc() { var numLargura = parseFloat(document.getElementById('txtLargura').value.replace(',','.')); var numAltura = parseFloat(document.getElementById('txtAltura').value.replace(',','.')); var numValor = parseFloat(document.getElementById('txtValor').value.replace(',','.')); var numQuantidade = parseInt(document.getElementById('txtQuantidade').value); if (isNaN(numLargura)) alert('A largura deve ser um número decimal.'); else if (isNaN(numAltura)) alert('A altura deve ser um número decimal.'); else if (isNaN(numValor)) alert('Valor inválido.'); else if (isNaN(numQuantidade)) alert('A quantidade deve ser um inteiro.'); else { var numPreco = numLargura * numAltura * numValor * numQuantidade; numPreco = (Math.round(numPreco*100))/100; numPreco = numPreco.toString().replace('.',','); document.getElementById('txtPreco').value = numPreco; } } </script> </head> <body> <table border="1"> <tr> <th>Largura</th> <th>Altura</th> <th>Valor m²</th> <th>Quantidade</th> <th>Preço</th> </tr> <tr> <td><input id="txtLargura" style="width:100px"></td> <td><input id="txtAltura" style="width:100px"></td> <td><input id="txtValor" style="width:100px" disabled="disabled" value="3,5"></td> <td><input id="txtQuantidade" style="width:100px"></td> <td><input id="txtPreco" style="width:100px" disabled="disabled" value="0,0"></td> </tr> </table> <input type="button" value="calcular" onclick="calc()" /> </body> </html> O código é bem simples, o único detalhe é referente as últimas instruções da função onde eu multiplico o resultado por 100, arredondo (tira as casas decimais) e depois divido por 100 para ficar apenas com 2 casas decimais. Abraço -
Navegação faz desaparecer itens da página
pergunta respondeu ao gersonab de Eduardo Penna em Ajax, JavaScript, XML, DOM
Boa noite amigo, não consegui reproduzir o erro, foi corrigido? Aproveitando, achei um bug no portifólio que só é visto no IE7: as imanges quando aumentam, ficam por baixo das outras thumbs. Provavelmente pode ser resolvido com z-index. Abraço -
Boa noite amigo, o mais indicado é fazer isso server-side, utilizando uma linguagem de programação para web como PHP e ASP. Abraço
-
Identificar valores em tabelas
pergunta respondeu ao SuperTigato de Eduardo Penna em Ajax, JavaScript, XML, DOM
Boa noite amigo, 2 formas para fazer isso: A primeira é atribuir um id para cada td. A outra é usar childNodes (nós filhos) que é uma coleção dos objetos filhos, ficaria algo assim: var objTr = document.getElementById('tabela1').childNodes[0]; // pega a tr var numTotalTd = objTr.childNodes.length; // pega a quantidade de td dentro dessa tr Aí é só fazer um loop (for) Dê uma pesquisa em childNodes. Abraço -
(Resolvido) Código não está funcionando =/
pergunta respondeu ao seth de Eduardo Penna em Ajax, JavaScript, XML, DOM
Sem problemas, quanto a sua nova questão, 2 coisas: 1 - Você não está chamando a função em momento algum, coloque no onload do body como a outra função (do post anterior). 2 - O loop não tem fim, ou seja, a caixa irá aumentar infinitamente (até travar o browser). Abraço -
(Resolvido) Código não está funcionando =/
pergunta respondeu ao seth de Eduardo Penna em Ajax, JavaScript, XML, DOM
Boa tarde amigo, seu novo aqui também mas já veterano em outros fórum do gênero. document.all.getElementbyId("o").style.display = none Primeira coisa, retire o "all" da instrução, ele é desnecessário. Segunda, o valor da propriedade display é do tipo string, logo você deverá usar aspas. Terceira, apesar de não ser obrigatório em todos os casos, sempre utilize ponto e vírgula após o final de uma instrução. Quarta, quando você executa a alteração do estilo, a div ainda não foi criada e por isso não será encontrada. O melhor é você criar uma função e chama-la no evento "onload" do body. Resultado com alterações: <html> <head> <style type="text/css" > #o { background-color: black;width: 200px; height: 200px; } </style> </head> <body onload="escondeDiv()"> <script type="text/javaScript"> document.write('ooi') function escondeDiv() { document.getElementbyId("o").style.display = "none"; } </script> <div id="o" > </div> </body> </html> Certo? Abraço!