Jump to content

Search the Community

Showing results for tags 'javascript'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Q&A Desenvolvimento
    • Perguntas e respostas rápidas
  • Web Development
    • HTML e CSS
    • Javascript
    • PHP
    • Ruby
    • Python
    • Java
    • .NET
    • Docker, Kubernets and other environments
    • WordPress
    • Mobile
    • Agile
    • Desenvolvimento de Games
    • Banco de Dados
    • Design and UX
    • Algoritmos & Outras Tecnologias
  • Entretenimento e uso pessoal
    • Segurança & Malwares
    • Geral
    • iMasters's pub

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Google+


Hangouts


Skype


Twitter


deviantART


Github


Flickr


LinkedIn


Pinterest


Facebook


Site Pessoal


Localização


Interesses

Found 732 results

  1. O script abaixo atualiza a página (centro.php) a cada um minuto e dentro desta página terei uma div que não poderá ser atualizada. Tentei colocar esta div como pagina com setInterval de 100 minutos porem ao dar o refresh no centro.php tudo vai junto. Será que isto é possivel? Desde já meu muito obrigado! <script> function atualiza(){ var url = 'centro.php'; $.get(url, function(dataReturn) { $('#centro').html(dataReturn); }); } setInterval("atualiza()",60000); </script>
  2. Bom dia. Eu estou tentando encontrar uma maneira de evitar que após o usuário selecionar, se selecionar, uma imagem, essa seja substituída apenas por outra selecionada. Porém quando o usuário cancela a seleção, o input file remove o arquivo se já foi selecionado anteriormente. Essa é a estrutura que estou usando HTML form action="#" method="post" name="formulario" id="formulario" enctype="multipart/form-data" input type="file" name="file_name[]" br input type="file" name="file_name[]" br button enviar /button /form JS PURO Peguei esse script em um post aqui do stackoverflow e adaptei script type="text/javascript" let formulario = document.querySelector("#formulario"); formulario.addEventListener("change", (e)=>{ e.preventDefault(); var file = e.target.files[0]; if (e.target.files.length === 1 && e.target.files !== undefined && e.target.files !== null && file.type.match('image.*')) { console.log("if okay"); } else { //preciso entender o que devo fazer aqui para verificar se há arquivo no DOM desse target caso, o usuário cancele a seleção, para evitar que se há um arquivo no DOM esse permaneça. console.log(file); //CASO O USUÁRIO CANSELA A SELEÇÃO, RETORNA undefined } }); /script O if está correto, porém o que falta é o que fazer no else. Agradeço desde já.
  3. ILR master

    Carregamento preloading

    Fala pessoal, tudo bem? Tô tentando fazer um pre-loading, mas não consigo de jeito algum. Quero mostrar uma animação enquanto a página é carregada e depois de caregada, esconder a animação e mostrar conteúdo. Aguém pode me ajudar? Segue código abaixo <!DOCTYPE html> <html lang="pt-br"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>PÁGINA LOAD</title> <style type="text/css"> .loadclass { border: 2px solid #f3f3f3; /* Light grey */ border-top: 4px solid #ffc401; /* Blue */ border-radius: 50%; width: 50px; height: 50px; animation: spin 2s linear infinite; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .conteudo { display:none; } </style> <script> function loading(){ document.getElementsByClassName('loadclass')[0].style.display="none"; document.getElementsByClassName('conteudo').style.display="block"; } </script> </head> <body onLoad="loading()"> <div class="loadclass"></div> <div class="conteudo">SEU CONTEUDO AQUI DENTRO!!!</div> </body> </html>
  4. ILR master

    Abrir url na mesma janela

    Pessoal, pergunta bem simples. Abaixo tenho o seguinte código: <script> function alerta() { if (window.confirm("Você realmente quer sair?")) { window.open("sair.html"); } } </script> Funciona perfeitamente, só que está abrindo em outra janela e quero que abra na mesma janela. Alguém pode me ajudar?
  5. Thiago Duarte

    Drag and Drop para arrastar imagem

    Oi, gostaria de arrastar imagem e ao soltar formar bloco html, meu bloco de html ficaria com nome, content-1.html, content-2.html, etc Alguem pode me ajudar?
  6. Olá a todos! Tenho uma pagina que possui uma DIV onde coloquei uma pagina PHP. Uso a função setInterval para atualizar a pagina inclusa dentro da DIV. O problema é que ao acessar o site , a DIV só me mostra a pagina inclusa somente quando completo o primeiro minuto. Preciso que a pagina inclusa já inicie carregada Meu código JavaScript e a DIV com a pagina PHP <script> function atualiza(){ var url = 'direita.php'; $.get(url, function(dataReturn) { $('#direita').html(dataReturn); }); } setInterval("atualiza()",60000); </script> <div> <span id="direita"></span> </div>
  7. Olá! Estou fazendo o upload de arquivos com fetch dessa forma fetch(url, { method: 'POST', headers: {'Content-Type': 'multipart/form-data',}, body: formData }).catch((error) => (console.log("Problemas com o Upload"), error)); estou usando input type=file e criando uma const formData = new FormData(); mas não faz e não dá nenhum erro. estou fazendo o upload com a url="http://localhost/dashboard/dados".
  8. Boa tarde pessoal, Eu criei um formulário em que tenho 3 interações: evento click, change e uma chamada ajax. No evento on change ("select#removal_table_from" )eu faço uma chamada ajax onde eu passo como parametro o id do item selecionado e construo uma tabela dinamica com o próprio javascript, após isto, tenho um input em que o usuario coloca um valor de percentual para que eu possa preencher em 3 colunas da tabela que foi criada dinamicamente: moto_atualizado, carro_atualizado e caminhao_atualizado, até aí tudo bem, o codigo está fazendo isso, porém, como a tabela é criada dinamicamente eu preciso de alguma forma enviar o arrayData para meu backend mas quando faço o calculo dentro do loop apos resposta do meu ajax, os valores desses 3 campos chegam como null, não sei se é possível fazer o que pretendo ou se é ainda não sei como faz <code> $(document).ready(function (event) { let arrayData = []; let percentage; let removal_vehicle; let removal_motorcycle; let removal_tuck; let apply_removal = $('#apply_removal'); // apply_removal.on('click', function () { // percentage = $('#percentage').val(); // $('.table-body tr').each(function () { // let veiculo = $(this).find('.veiculo').text(); // let moto = $(this).find('.moto').text(); // let caminhao = $(this).find('.caminhao').text(); // let removal_vehicle = parseFloat(veiculo) + (parseFloat(veiculo) * parseFloat(percentage)) / 100; // let removal_motorcycle = parseFloat(moto) + (parseFloat(moto) * parseFloat(percentage)) / 100; // let removal_tuck = parseFloat(caminhao) + (parseFloat(caminhao) * parseFloat(percentage)) / 100; // arrayData.push({ // removal_vehicle, // removal_motorcycle, // removal_tuck // }) // $(this).find('.veiculo_atualizado').val(removal_vehicle.toFixed(2)); // $(this).find('.moto_atualizado').val(removal_motorcycle.toFixed(2)); // $(this).find('.caminhao_atualizado').val(removal_tuck.toFixed(2)); // }); // }); apply_removal.on('click', function () { percentage = $('#percentage').val(); $('.table-body tr').each(function () { let veiculo = $(this).find('.veiculo').text(); let moto = $(this).find('.moto').text(); let caminhao = $(this).find('.caminhao').text(); removal_vehicle = parseFloat(veiculo) + (parseFloat(veiculo) * parseFloat(percentage)) / 100; removal_motorcycle = parseFloat(moto) + (parseFloat(moto) * parseFloat(percentage)) / 100; removal_tuck = parseFloat(caminhao) + (parseFloat(caminhao) * parseFloat(percentage)) / 100; arrayData.push({ removal_vehicle, removal_motorcycle, removal_tuck }) $(this).find('.veiculo_atualizado').val(removal_vehicle.toFixed(2)); $(this).find('.moto_atualizado').val(removal_motorcycle.toFixed(2)); $(this).find('.caminhao_atualizado').val(removal_tuck.toFixed(2)); console.log('Removal Vehicle:', removal_vehicle); console.log('Removal Motorcycle:', removal_motorcycle); console.log('Removal Truck:', removal_tuck); }); }); $('select#removal_table_from').on('change', function (e) { let table_id = $(this).val(); let action = route('removal.removal-values.show', table_id); $.ajax({ type: "GET", url: action, headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') }, success: function (data) { $('.table-body').empty(); for (let i = 0; i < data.length; i++) { let carro = parseFloat(data[i].CARRO); let moto = parseFloat(data[i].MOTO); let caminhao = parseFloat(data[i].CAMINHAO); let distancia = data[i].DISTANCIA; let origem = data[i].ORIGEM; let destino = data[i].DESTINO; let localidadeOrigem = data[i].LocalidadeOrigem_ID; let localidadeDestino = data[i].LocalidadeDestino_ID; let newRow = '<tr class="removal-row">' + '<td class="align-middle">' + '<div class="row">' + '<div class="col-1">' + '<span class="font-weight-bold">Origem</span><br>' + '<span class="origem">' + origem + '</span>' + '</div>' + '<div class="col-1">' + '<span class="font-weight-bold">Destino</span><br>' + '<span class="destino">' + destino + '</span>' + '</div>' + '<div class="col-1">' + '<span class="font-weight-bold">KM</span><br>' + '<span class="km">' + distancia + '</span>' + '</div>' + '<div class="col-1">' + '<span class="font-weight-bold">Veículo</span><br>' + '<span class="veiculo">' + carro + '</span>' + '</div>' + '<div class="col-2">' + '<span class="font-weight-bold">Veículo Atualizado</span><br>' + '<input type="text" class="veiculo_atualizado">' + '</div>' + '<div class="col-1">' + '<span class="font-weight-bold">Moto</span><br>' + '<span class="moto">' + moto + '</span>' + '</div>' + '<div class="col-2">' + '<span class="font-weight-bold">Moto Atualizado</span><br>' + '<input type="text" class="moto_atualizado">' + '</div>' + '<div class="col-1">' + '<span class="font-weight-bold">Caminhão</span><br>' + '<span class="caminhao">' + caminhao + '</span>' + '</div>' + '<div class="col-2">' + '<span class="font-weight-bold">Caminhão Atualizado</span><br>' + '<input type="text" class="caminhao_atualizado">' + '</div>' + '</div>' + '</div>' + '</td>' + '</tr>'; $('.table-body').append(newRow); //let row = $('.removal-row:last'); // Calcula o valor atualizado e define nos campos diretamente // let veiculo_atualizado = carro + (carro * percentage) / 100; // let moto_atualizado = moto + (moto * percentage) / 100; // let caminhao_atualizado = caminhao + (caminhao * percentage) / 100; // console.log('PORCENTS: ', percentage); //console.log('Veiculo Atualizado:', veiculo_atualizado, 'Moto Atualizado:', moto_atualizado, 'Caminhao Atualizado:', caminhao_atualizado); // Define os valores diretamente nos campos da nova linha // row.find('.veiculo_atualizado').val(veiculo_atualizado.toFixed(2)); // row.find('.moto_atualizado').val(moto_atualizado.toFixed(2)); // row.find('.caminhao_atualizado').val(caminhao_atualizado.toFixed(2)); arrayData.push({ carro, moto, caminhao, distancia, origem, destino, localidadeOrigem, localidadeDestino, removal_vehicle, removal_motorcycle, removal_tuck }); } $('#copy_data_table').val(JSON.stringify(arrayData)); } }); }); //javascript para o formulario de cadastro // $(document).ready(function (event) { $('#uf').change(function () { let code_city = $(this).val(); let deposit = localStorage.getItem('selected_deposit_id'); let action = route('removal.removal-values.cities', code_city); $.ajax({ type: "POST", url: action, headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') }, data: { code_city: code_city }, success: function (data) { $('#city').empty(); $('#deposit').empty(); for (let i = 0; i < data.cities.length; i++) { $('#city').append('<option value="' + data.cities[i].NM + '">' + data.cities[i].NM + '<option>'); } if (data.deposits.length > 0) { for (let i = 0; i < data.deposits.length; i++) { $('#deposit').append('<option value="' + data.deposits[i].NM + '">' + data.deposits[i].NM + '<option>'); } } else { // $('#deposit').prop('disabled', true); // $('#city').prop('disabled', false); } $('#city').trigger('change'); } }); }); $('#deposit').on('change', function () { depositId = $(this).val(); localStorage.setItem('selected_deposit_id', depositId); }); $('#uf_destiny').change(function () { let code_city = $(this).val(); let depositDestiny = localStorage.getItem('selected_deposit_destiny_id'); let action = route('removal.removal-values.cities', code_city); $.ajax({ type: "POST", url: action, headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') }, data: { code_city: code_city }, success: function (data) { $('#city_destiny').empty(); $('#deposit_destiny').empty(); for (let i = 0; i < data.cities.length; i++) { $('#city_destiny').append('<option value="' + data.cities[i].NM + '">' + data.cities[i].NM + '</option>'); } if (data.deposits.length > 0) { // $('#deposit_destiny').prop('disabled', false); //$('#city_destiny').empty(); // $('#city_destiny').prop('disabled', true); for (let i = 0; i < data.deposits.length; i++) { $('#deposit_destiny').append('<option value="' + data.deposits[i].NM + '">' + data.deposits[i].NM + '</option>'); } } else { // $('#deposit_destiny').prop('disabled', true); // $('#city_destiny').prop('disabled', false); } $('#city_destiny').trigger('change'); } }); }); $('#deposit_destiny').on('change', function () { let depositDestinyId = $(this).val(); localStorage.setItem('selected_deposit_destiny_id', depositDestinyId); }); }); </code>
  9. juniormatrix

    Script para validação

    Olá Achei esse script aqui no fórum mesmo: $.validator.addMethod( "customEmail", function (value, element) { return this.optional(element) || /^[\w-\.]+@fulano\.com\.br$/i.test(value); }, "Por favor, insira um e-mail válido com o domínio @fulano.com.br" ); $("#formulario").validate({ ignore: ".ignore", rules: { empresa: { required: true }, nome: { required: true }, contato: { required: true }, celular: { required: true }, email: { required: true, email: true, customEmail: true }, }, }); Testei e funcionou perfeitamente, mas gostaria que liberasse mais e-mails válidos, ao invés de apenas um. Tem como fazer? Se alguém puder ajudar, fico muito grato.
  10. Eu tenho esse código, mas preciso retornar funções puras em vez de funções mutáveis. É possível? Talvez usando OOP? Não sei como melhorar isso. Tentei retornar os valores de cada função, mas não obtive sucesso. import { AssetStatusType } from '@domain/interfaces/common' import { BothComponentType, ComponentsType, GroupFiltersType, OperationType, OverviewModelType, PendenciesOverviewType, PendenciesType, StructurePendenciesCount, StructureStatusCount } from '../../types' const updateStatusCount = ( statusCount: StructureStatusCount, status: AssetStatusType ) => { statusCount[status] = (statusCount[status] || 0) + 1 } const updatePendenciesCount = ( pendenciesCount: StructurePendenciesCount, key: AssetStatusType, subKey: OperationType | PendenciesOverviewType ) => { pendenciesCount[key] = pendenciesCount[key] ?? {} pendenciesCount[key][subKey] = (pendenciesCount[key]?.[subKey] || 0) + 1 } const processOverviewPendencies = ( pendencies: PendenciesType[] | null | undefined, pendenciesCount: StructurePendenciesCount, countedIds: Set<string>, id: string ) => { if (pendencies?.length) { for (const { state, pendencyType } of pendencies) { const uniqueId = `${state}-${pendencyType}-${id}` if (!countedIds.has(uniqueId)) { updatePendenciesCount(pendenciesCount, state, pendencyType) countedIds.add(uniqueId) } } } } const processOverviewComponents = ( components: ComponentsType[], isGroupByTree: boolean, statusCount: StructureStatusCount, pendenciesCount: StructurePendenciesCount, countedIds: Set<string>, id: string, type: BothComponentType ) => { for (const { pendencies, status, operationType } of components) { if (isGroupByTree && type === 'location') { updateStatusCount(statusCount, status) if (operationType) { updatePendenciesCount(pendenciesCount, status, operationType) } } processOverviewPendencies(pendencies, pendenciesCount, countedIds, id) } } const processOverviewData = ( data: OverviewModelType[], groupBy: GroupFiltersType, statusCount: StructureStatusCount, pendenciesCount: StructurePendenciesCount, countedIds: Set<string> ) => { const isGroupByTree = groupBy === 'tree' const isGroupByAsset = groupBy === 'asset' for (const { id, status, components, operationType, type } of data) { if (isGroupByAsset || type === 'asset') { updateStatusCount(statusCount, status) if (operationType) { updatePendenciesCount(pendenciesCount, status, operationType) } } processOverviewComponents( components, isGroupByTree, statusCount, pendenciesCount, countedIds, id, type ) } } export const calculateOverviewCounts = ( data: OverviewModelType[], groupBy: GroupFiltersType ) => { const statusCount: StructureStatusCount = {} as StructureStatusCount const pendenciesCount: StructurePendenciesCount = {} as StructurePendenciesCount const countedIds = new Set<string>() processOverviewData(data, groupBy, statusCount, pendenciesCount, countedIds) return { ...statusCount, pendencies: pendenciesCount } } Existe uma maneira mais limpa e elegante de fazer isso? Preciso retornar um objeto como este: // calculateOverviewCounts return this { pendencies: StructurePendenciesCount; working: number; inAlert: number; warning: number; stopped: number; off: number; } StructurePendenciesCount é:
  11. Bom dia a todos, estou usando o datatable com uma consulta mysql e funciona 100% , meu único problema é na hora que eu exporto para pdf, este não vem com sua largura da tabela exportada em 100%, dependendo da situação ocupa apenas 30% da página, infelizmente após varias pesquisas ainda não encontrei uma forma de fazer. segue meu código de forma simples: $('#exportar').DataTable( { language: { url: '//cdn.datatables.net/plug-ins/1.13.7/i18n/pt-BR.json', }, dom: 'Bfrtip', order: [[ 0, 'desc' ]], buttons: [ 'pdfHtml5' ] } ); desde já agradeço toda ajuda possível
  12. boa noite , tenho uma função que funciona perfeitamente para cadastro, no entanto para editar já não estou conseguindo, o que acontece no cadastro: 1 - no primeiro select conforme a opção selecionada ele preenche o segundo select - ok 2- quando seleciono a opção no segundo select, ele mostra os checkbox relacionados a esta opção - ok acontece que não ocorre o evento onchange pois os mesmos já estão selecionados, caso eu mede mostra os checkbox normalmente informo que estes estão em uma janela modal externa var selectSub = document.getElementById('subcategoria'); var montaChec = function () { var selectSubchec = document.getElementById('opcaochcek'); var valor = selectSub.value; var selected = selectSubchec.dataset.subcategoria_id; fetch("chec_opcao.php?subcategoria=" + valor + "&selected=" + selected) .then(response => { return response.text(); }) .then(texto => { selectSubchec.innerHTML = texto; }); } selectSub.onchange = () => { montaChec(); } montaChec();
  13. Olá! Não consigo iniciar um programa usando nodejs, babel e express npm start > nt-api@1.0.0 start > babel-node index.js C:\Users\ar\nt-api\node_modules\babel-core\lib\transformation\file\options\option-manager.js:328 throw e; ^ Error: Couldn't find preset "@babel/env" relative to directory "C:\\Users\\ar\\nt-api" at C:\Users\ar\nt-api\node_modules\babel-core\lib\transformation\file\options\option-manager.js:293:19 at Array.map (<anonymous>) at OptionManager.resolvePresets (C:\Users\ar\nt-api\node_modules\babel-core\lib\transformation\file\options\option-manager.js:275:20) at OptionManager.mergePresets (C:\Users\ar\nt-api\node_modules\babel-core\lib\transformation\file\options\option-manager.js:264:10) at OptionManager.mergeOptions (C:\Users\ar\nt-api\node_modules\babel-core\lib\transformation\file\options\option-manager.js:249:14) at OptionManager.init (C:\Users\ar\nt-api\node_modules\babel-core\lib\transformation\file\options\option-manager.js:368:12) at compile (C:\Users\ar\nt-api\node_modules\babel-register\lib\node.js:103:45) at loader (C:\Users\ar\nt-api\node_modules\babel-register\lib\node.js:144:14) at Object.require.extensions.<computed> [as .js] (C:\Users\ar\nt-api\node_modules\babel-register\lib\node.js:154:7) at Module.load (node:internal/modules/cjs/loader:1207:32) Node.js v21.2.0
  14. foreach ($sql as $key => $item): ?> <tr> <th class="small"><?php echo $item['ID']; ?></th> <th class="small"><?php echo $item['CODFIL']; ?></th> <th class="small"><?php echo $item['NUMPED']; ?></th> <th class="small"><?php echo $item['CODPRO']; ?></th> <th class="small"><?php echo $item['NOMCLI']; ?></th> <th class="small"><?php echo $item['QTDFAT']; ?></th> <th class="small"><?php echo $item['CIDCLI']; ?></th> <th class="small"><?php echo $item['CPLIPD']; ?></th> <th class="small"><?php echo $item['NOMTRA']; ?></th> <th class="small"><?php echo $item['NOMMOT']; ?></th> <th class="small"><input class="form-control form-control-sm" type="text" style="width: 60; text-align: center; margin-right: auto; margin-left: auto"></th> <th class="small"> <select class="form-control form-control-sm" id="poscar"> <option><?php echo $item['POSCAR']; ?></option> <option value="D">D</option> <option value="C">C</option> <option value="L">L</option> </select> </th> <th class="small"><?php echo $item['DATCHE']; ?></th> <th> <input TYPE="submit" id="botao" value="Enviar" > </th> </tr> <?php endforeach; ?>
  15. boa tarde a todos, tenho a seguinte estrutura de uma página. orçamento 01 com sua descrição serviço 01 com sua descrição serviço 02 com sua descrição serviço 03 com sua descrição orçamento 02 com sua descrição serviço 01 com sua descrição serviço 02 com sua descrição serviço 03 com sua descrição soma dos valores das colunas aqui vem os dados somados q preciso o que preciso agora é: orçamento 01 com sua descrição serviço 01 com sua descrição serviço 02 com sua descrição serviço 03 com sua descrição soma dos valores das colunas do orçamento 01 aqui vem os dados somados q preciso orçamento 02 com sua descrição serviço 01 com sua descrição serviço 02 com sua descrição serviço 03 com sua descrição soma dos valores das colunas do orçamento 02 aqui vem os dados somados q preciso soma dos valores das colunas aqui vem os dados somados q preciso seria simples se tivesse todos os valores gravados no BD , porém boa parte desses valores vem de cálculos matemáticos. segue como fiz a primeira parte: tabela com os cálculos matemáticos e o resultados da soma: while { <tr> <td> </td> <td class="ct1"> <?php echo $vtpc; ?></td> <td class="ct2"> <?php echo $plc1; ?> </td> <td> <?php echo $uso1;?> </td> <td class="ct3"> <?php echo $valcuscto; ?></td> <td class="ct4"> <?php echo $va01; ?></td> <td> <?php echo $usosob; ?> </td> <td class="ct5"> <?php echo $metrx; ?> </td> <td class="ct6"> <?php echo $valort; ?></td> </tr> <?php } ?> </tbody> <tfoot> <tr> <th> Total</th> <th class="tt1"> </th> <th class="tt2"> </th> <th> </th> <th class="tt3"> </th> <th class="tt4"> </th> <th> </th> <th class="tt5"> </th> <th class="tt6"> </th> </tr> </tfoot> com o javascript: $(function(){ let total = 0, totala = 0, totalb = 0, totalc = 0, totald = 0, totale = 0; $('.ct1').each(function(){ total += parseFloat(jQuery(this).text()); }); $('.ct2').each(function(){ totala += parseFloat(jQuery(this).text()); }); $('.ct3').each(function(){ totalb += parseFloat(jQuery(this).text()); }); $('.ct4').each(function(){ totalc += parseFloat(jQuery(this).text()); }); $('.ct5').each(function(){ totald += parseFloat(jQuery(this).text()); }); $('.ct6').each(function(){ totale += parseFloat(jQuery(this).text()); }); $('.tt1').html(total.toLocaleString('pt-BR', { style: 'currency', currency: 'BRL' })); $('.tt2').html(totala); $('.tt3').html(totalb.toLocaleString('pt-BR', { style: 'currency', currency: 'BRL' })); $('.tt4').html(totalc.toLocaleString('pt-BR', { style: 'currency', currency: 'BRL' })); $('.tt5').html(totald.toLocaleString('pt-BR', { minimumFractionDigits: 2})); $('.tt6').html(totale.toLocaleString('pt-BR', { style: 'currency', currency: 'BRL' })); }); para o primeiro caso funciona perfeitamente, já para o laço só na primeira. já fiz algumas modificações tipo ... <td class="ctta<?php echo $idcatcx; ?>"> <?php echo $vtpc; ?></td> //..... <th class="cttca<?php echo $idcatcx; ?>"> </th> //// e let atotal = 0, atotala = 0, atotalb = 0, atotalc = 0, atotald = 0, atotale = 0; $('.ctta'+<?php echo $idcatc; ?>).each(function(){ atotal += parseFloat(jQuery(this).text()); }); $('.cttca'+<?php echo $idcatc; ?>).html(atotal.toLocaleString('pt-BR', { style: 'currency', currency: 'BRL' })); sei q preciso fazer um laço no java mas não estou sabendo
  16. Estou tentando gerar uma sugestão do proximo código do plano de contas mas a minha função não esta fazendo corretamente e não estou conseguindo ter o código correto, no caso abaixo quando eu clicar em uma conta 2.1 ele deve me sugerir 2.1.1 se ja tiver ele sugere o proximo disponivel naquela hierarquia e assim para os de mais , alguem ja vez isso ou e tem uma dica vou disponibilizar meu codigo ele faz uma coisa semelhamente mas ele incrementa mais um depois e não ta fazendo correto 2 Passivo 2.1 Passivo Circulante 2.1.1 Impostos 2.1.1.1 FUNRURAL 2.1.1.2 ICMS ST 2.1.2 Contas a Pagar 2.1.2.1 Fornecedores 2.1.2.2 Produtores 2.1.2.3 Compradores 2.1.2.4 Motoristas 2.2 Passivo Não Circulante 2.2.1 Empréstimo bancário (longo prazo) 2.2.1.1 Empréstimo banco ``` <script> // Obtém a lista de contas const contas = document.querySelectorAll('.conta'); // Adiciona um ouvinte de evento para cada conta contas.forEach(conta => { conta.addEventListener('click', () => { // Obtém o código da conta clicada const codigoAtual = conta.getAttribute('data-codigo'); // Calcula o próximo código considerando o nível const proximoCodigo = calcularProximoCodigo(codigoAtual); // Verifica se o próximo código já existe no mesmo nível const proximoCodigoExiste = verificarExistenciaCodigo(proximoCodigo); if (proximoCodigoExiste) { alert(`O próximo código ${proximoCodigo} já existe no mesmo nível.`); } else { // Exibe o próximo código //document.getElementById('proximo-codigo').innerText = `Próximo código: ${proximoCodigo}`; $('#codestrutural').val(proximoCodigo); $('#cadcontasmodal').modal('show'); var set = setInterval(function(){ $('#desc').focus(); clearInterval(set); },600); } }); }); // Função para calcular o próximo código com base no código atual e nível function calcularProximoCodigo(codigoAtual) { // Quebra o código atual em partes const partes = codigoAtual.split('.'); if(partes.length == 1){ // Se for o primeiro nível, adiciona '.1' const proximoCodigo = partes[0]+'.1'; return proximoCodigo; }else{ const ultimoNumero = parseInt(partes.pop(), 10) + 1; // Adiciona o novo número à lista partes.push(ultimoNumero); // Junta as partes para formar o novo código const proximoCodigo = partes.join('.'); return proximoCodigo; } // Incrementa o último número } // Função para verificar se um código já existe no mesmo nível function verificarExistenciaCodigo(proximoCodigo) { // Obtém todos os elementos da tabela com a classe 'conta' const contas = document.querySelectorAll('.conta'); // Extrai o nível do próximo código const nivelProximoCodigo = proximoCodigo.split('.').length; // Verifica se o código já existe no mesmo nível for (const conta of contas) { const codigoExistente = conta.getAttribute('data-codigo'); const nivelCodigoExistente = codigoExistente.split('.').length; if (nivelProximoCodigo === nivelCodigoExistente && codigoExistente.startsWith(proximoCodigo)) { return true; } } return false; } </script> ```
  17. Pessoal tenho o seguinte código para duplicar linha do formulário, tudo funciona perfeitamente. var controleCampo = 1; function adicionarCampo() { controleCampo++; //console.log(controleCampo); document.getElementById('formulario').insertAdjacentHTML('beforeend', '<div class="form-group" id="campo' + controleCampo + '"><label></label><input type="hidden" name="agenda_id" id="num_dente" value="<?php echo $id_agenda ?> required "/><label class="form-label">&nbsp;Dente:&nbsp;</label><input type="text" class="formcodac-text-input-dente" name="num_dente[]" id="num_dente" placeholder="Nº Dente" /><label class="form-label">&nbsp;Obs:&nbsp;</label><input type="text" class="formcodac-text-input-obs" name="obs[]" id="obs" placeholder="Observações required "/><label class="form-label">&nbsp;Valor:&nbsp;</label><input type="text" class="formcodac-text-input-valor" name="valor[]" id="valor" placeholder="Valor required "/>&nbsp;<button class="btn btn-danger" type="button" id="' + controleCampo + '" onclick="removerCampo(' + controleCampo + ')"> X </button></div>'); } function removerCampo(idCampo){ //console.log("Campo remover: " + idCampo); document.getElementById('campo' + idCampo).remove(); } Porem eu preciso incluir um select no formulário com uma consulta php, não entendo do Java script, alguém poderia me ajudar, o select é esse: <label class="form-label">Proce</label> <select name="proce_id[]" class="formcodac-text-input-dente" id="proce_id" required> <option selected >Selecione</option> <?php $proce = $pdo->prepare("SELECT * FROM procedimentos"); $proce->execute(); if($proce->rowCount() > 0){ while($row=$proce->fetch(PDO::FETCH_ASSOC)){ echo'<option value="'.$row['id_proce'].'">'.$row['nome_proce'].'</option>'; }} ?> </select>
  18. Michael Silva Dev

    Geração de dados para e2e

    Estou implementando testes e2e com cypress em um projeto web com react, para realizar criação de contas eu preciso de cpf e cnpj válidos e ai que ta o problema, cada vez que um cpf é usado ele é invalidado então minha idéia era gerar eles a cada execução. Eu conheço vários sites que fazem isso como esse gerador de cpf e o gerador de cnpj, mas via código alguem conhece uma lib js para fazer essa geração em tempo de execução?
  19. Olá, gostaria de saber se alguém teria base ou ideia de como posso está fazendo um sistema semelhante a esse, trabalho com tamanhos em folhas A4,A3,A5 e queria determinar por quadrados quanto cabe na folha. Exemplo Etiquetas tamanho 5x5cm, caberia quantas unidades dentro de uma folha de 21x29.7cm Ele me daria a quantidade de quadros de 5x5cm dentro do tamanho da folha A4
  20. Olá pessoal, tenho uma div a qual através de um select categorias eu trago dados de empresas do banco, aí preciso clicar nas listagens das empresas e pegar o ID quando clica no checkbox e gravar pelo ajax novamente na session feita no arquivo php tipo um carrinho de compras, que essa parte já tenho... só não to conseguindo pegar os ids gerados dinamicamente no retorno feito do ajax, eles aparecem com F12 ao inspecionar, mas não aceita eu clicar para pegar o ID, acho que é algo de DOM, mas não to sabendo fazer... alguém aí saberia me ajudar como pegar esses ids ao clicar, já que eles vem dinamicamente? obrigado
  21. Artes Ussler

    Script para validação

    Bom dia Uso esse código para validação de formulário: $("#formulario").validate({ ignore: ".ignore", rules: { empresa:{required: true}, nome:{required: true}, contato:{required: true}, celular:{required: true}, email:{required: true, email: true}, } }); mas preciso inserir uma validação que apenas permita determinado e-mail, por exemplo, apenas e-mails com @fulano.com.br são permitidos. Se alguém puder me ajudar, fico grato.
  22. ola bom dia pessoal, é o seguinte estou com este select option que ele redireciona para uma pagina conforme é clicada nela, porem se clicar onde esta value='' ela tbm redireciona quero forçar a selecionar alguma vaga <select class="" required onchange="location.href=this.value" > <option value="">--Qual vaga deseja Visualizar-?-</option> <option value="vaga-1">Vaga 1</option> <option value="vaga-2">Vaga 2</option> <option value="vaga-3">Vaga 3</option> <option value="vaga-4">Vaga 4</option> </select>
  23. Ola pessoal boa tarde estou tentando fazer um texto se mover dentro do input porem nao esta dando resultado que preciso Este é o codigo <script type="text/javascript"> $(document).ready(function () { var frases = [{ 'elemento': $('input[name=search_string]'), 'frases': ["O que você está procurando?", "Buscar por: Academia, Barbearia, Churrascaria, Decoração, Escola, Farmácia, Gráfica, Imobiliaria, Lanchonete, Mecânica, Odontologia, Pizzaria...", "Faça sua busca por segmentos aqui.", "São mais de 3mil empresas para serem exploradas."] }]; animaInput(frases); }); </script>
  24. joeythai

    combobox repetindo registros

    Boa tarde pessoal, eu criei uma página da qual tenho diversos checkbox para marcar, se tiver alguma caixinha marcada eu habilito um botão para fazer o envio ao servidor, porém, está acontecendo um problema que não consegui identificar, o que está acontecendo é o seguinte: Quando eu marco um checkbox apenas, o botão é liberado, eu clico nele e aparece um modal para preencher os dados, e nesse modal tem um combobox com opções criadas em javascript, como tem somente uma caixinha marcada as informações no combobox aparecem perfeitamente, porém, se eu marco 2 checkbox ou mais as opções do combobox se repetem, como se eu tivesse fazendo isso dentro de um looping, o que não é verdade, eis o codigo abaixo: <code> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <input id="check-belongings" class="custom-control-input check-belongings" name="" type="checkbox" value=""> <label for="" class="custom-control-label"></label> <div class="col-12"> <div class="md-form mt-0 mb-0 pt-0 pb-0"> <label for="reason">Motivo</label><br><br> <select class="form-control md-select2" style="width: 100%; text-transform: uppercase" id="reason_all_belongings" name="reason_all_belongings" required> </select> </div> </div> <script> $('.check-belongings').click(function () { let belongingsIds = []; let listaMarcados; let optionsReason = []; let option = null; let movementsSelect = document.getElementById("reason_all_belongings"); optionsReason = ['Conferencia', 'Desobstrução', 'Entrega ao Cliente/Propr',' Inspeção', 'Manobra', 'Venda' ]; optionsReason.forEach((reason) => { option = new Option(reason, reason.toLowerCase()); movementsSelect.options[movementsSelect.options.length] = option; }); listaMarcados = document.getElementsByClassName("check-belongings"); for (let loop = 0; loop < listaMarcados.length; loop++) { var item = listaMarcados[loop]; if (item.type == "checkbox" && item.checked) { $('.drop-all-belongings').removeAttr('disabled'); belongingsIds.push(item.value); } else { // $('.drop-all-belongings').attr('disabled', 'disabled'); } } }); </script> </body> </html> </code>
  25. Alessandro Bodão

    Projeto de Branding

    Salve galerinha, passando pra mostrar pra vocês o novo projeto de marca que a Jatobá Estúdio desenvolveu, espero que gostem. https://www.behance.net/gallery/166555627/Fernanda-Pinheiro-Nutricionista-Esportiva
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.