-
Content count
131 -
Joined
-
Last visited
-
Resolveu sim Omar. Entretanto, voltou a acontecer numa outra página e então fiz a troca do a por button, conforme você havia sugerido. Resolvido. Muito obrigado pela ajuda amigo. Grande abraço.
-
Antes de mais nada, muito obrigado Omar, pela resposta. O "não funciona" significava literalmente não funcionar, nesse caso. Eu clicava no botão excluir e nada acontecia, usava o alert em todas as variáveis e constava o esperado, o que me levou a perceber que o erro estava no window.location.href. Eu cometi o pecado de não colocar a variável que vem como parâmetro e sim o id, como você bem observou. No mesmo dia eu acabei percebendo o erro grotesco, corrigi; mas acabei não atualizando aqui e quando vim, você já havia respondido. De qualquer modo, muito obrigado por dispor de seu tempo e me ajudar. Um grande abraço e muito sucesso.
-
ment0r started following Validar extensão de imagem, window.location.href não funciona, Manter conteúdo <td> e acrescentar outros and and 1 other
-
Boa a noite a todos. Estou desenvolvendo um sistema que utiliza uma função JavaScript pra auxiliar na exclusão dos registros. É bem simples: <a href='' onclick="confExclusao('aluno.php', <?= trim($row->ID) ?>)"> O link manda como parâmetro a página e o id. Agora a função confExclusao: function confExclusao(url, idLocacao) { var resposta = confirm("Deseja excluir esse registro?"); if (resposta == true) { window.location.href = url+"?id="+id; } } A função recebe a página e o id como parâmetro e então utiliza window.location.href para enviar isso pra mesma página e na página em questão há um trecho que deleta o registro: if (isset($_GET['id'])) { $aluno = new Escola(); if ($aluno->desativa($_GET['id'])) { echo $mensagem->erroMsg("Aluno deletado com sucesso", "aluno.php"); } } O problema é que window.location.href não funciona (já tentei as variações do window.location). Alguém tem ideia do que possa ser? O mais engraçado é que funcionava... Fico aguardando qualquer ajuda - só falta isso pra eu entregar o sistema. Um grande abraço a todos.
-
Obrigado amigo. Retomei o projeto e isso que você me passou, resolveu o problema. Grande abraço.
-
WallyssonBr, primeiramente muito obrigado pelo retorno. Mas infelizmente não é isso; essa parte eu já fiz. O que eu queria é que listasse todos os itens aonde na imagem está o HALLS. Ex:. eu escolho o produto HALLS, digito a quantidade e o mesmo é acrescentado na onde ele já está; depois escolho COCA-COLA, digito a quantidade e a mesma é acrescentada embaixo do HALLS com todas as informações e assim vai indo até o cliente terminar do pedido. Exatamente igual à um supermercado.
-
Boa tarde a todos. Eu estou aproveitando a quarentena pra estudar e em aprofundar mais em JQuery. Comecei então um protótipo de PDV pra por em prática o aprendizado. Anexei uma imagem da tela. Basicamente é isso: o usuário digita um código e ao sair (blur), preenche o nome do produto e valor; quando o usuário clica em quantidade (keyup) faz o cálculo de valor unitário X qtde e exibe no campo total item. Quando o campo total item perde o foco (blur), os dados vão para o canto superior esquendo (conforme imagem) e ficam como linha daquela tabela. Só que quando eu faço uma nova consulta, ele apaga o registro anterior. O que eu queria é que quando eu pesquisasse um novo produto e fizesse o cálculo, armazenasse o segundo produto na linha de baixo e não apagasse o anterior. Esse trecho busca o valor e exibe nos campos - tudo ok aqui. // Pega o valor digitado no campo código // Passa como parametro para função buscaProduto codigo.blur(function(){ if (codigo.val() != '') { buscaProduto(codigo.val()); } else { alert('Por favor, digite algum valor no campo código'); codigo.focus(); } }); // Função responsável por buscar os dados do produto function buscaProduto(codigo){ $.ajax({ url : "busca_produto.php", type : 'post', cache: false, // não mantém os dados em cache dataType: 'json', // não é necessário passar quando é html data : { cod : codigo }, success: function(msg){ produto.val(msg.NOME); valor.val(msg.PRECO); quantidade.focus(); } }) } Esse trecho adiciona a linha dos dados na tabela do canto superior esquerdo. // Executa a função preencheDados quando o input #total_item perde o foco total_item.blur(function(){ preencheDados(codigo.val(), produto.val(), quantidade.val(), valor.val(), total_item.val()) }) // Preeche os dados calculados na tela function preencheDados(codigow, produtow, quantidadew, valorw, total_itemw){ th = '<th>1</th>'; th += '<th>'+codigow+'</th>'; th += '<th>'+produtow+'</th>'; th += '<th>'+quantidadew+'</th>'; th += '<th>'+valorw+'</th>'; th += '<th>'+total_itemw+'</th>'; destino.html(th); descricao.val(produtow); valor_down.val(valorw); quantidade_down.val(quantidadew); total_item_down.val(total_itemw); sub_total.val('Calcular...'); codigo.val('').focus(); produto.val(''); quantidade.val(''); valor.val(''); total_item.val(''); } Se alguém puder me dar uma dica de como adicionar essa segunda linha (th) eu agradeço muito. Um abraço a todos.
-
Galera, alguém tem mais alguma sugestão?
-
Primeiramente muito obrigado pela resposta @Thiago Az. Em alguns casos eu não posso tirar o window.location. Por exemplo: numa página de atualização de dados, caso o usuário digite algo errado, a alerta é exibida e eu redireciono com o window.location = "pagina.php?id=X" para que a página volte com as informações iniciais. Preciso estudar sessionStorage , pois sinceramente não conheço. Tirando o sessionStorage , não há o que fazer pra corrigir esse problema? Obrigado.
-
Boa noite amigos, tudo bem? Estou implementando os alerts do meu sistema com o plugin SweetAlert. Consegui implantar normalmente exceto por um detalhe: Quando há um window.location logo abaixo (igual ao trecho do código abaixo), a alerta é exibida e já direcionada instantaneamente para a página em questão. Já tentei com o BootBox e acontece a mesma coisa. <script language="javascript"> swal("Atenção", "Por favor, preencha o campo corretamente.", "warning"); window.location = "pagina.php"; </script> Alguém tem alguma ideia do que eu possa fazer pra corrigir esse problema. Muito obrigado desde já e bom trabalho a todos. Att. Douglas.
-
Muito obrigado amigo pela ajuda. Eu não sabia desse accept rsrs, já resolve a situação pra mim. Embora a outra forma seja mais sofisticada, vou ficar com essa mesmo. Muito obrigado mais uma vez.
-
Boa noite minha gente, tudo bem com vocês? Eu estou fazendo um formulário simples que carrega uma imagem, um título e um texto. Queria que quando a imagem fosse carregada uma função JavaScript validasse sua extensão, só permitindo .jpg, .jpeg, .gif, .bmp e .png e só liberasse o botão Cadastrar quando uma dessas 5 opções fossem escolhidas (ou não, só exibindo que a extensão não está correta e não permitir o carregamento já está ótimo). Tenho esse código abaixo (que peguei na internet), mas não sei como chamá-lo, uma vez que eu tenho duas etapas: 1) Clicar no botão Browse - pra escolher a imagem. 2) Escolher a imagem e clicar em Abrir. Com onclick no <input type="file"> não deu... Enfim, se alguém puder me ajudar, eu ficarei muito agradecido. Um grande abraço a todos. if (document.getElementById('file').value == "") { formfotos.botao.disabled = true; formfotos.botao.value = 'Selecione a foto'; }else { caminho = document.getElementById('file').value; var extensao; extensao = caminho.split("/"); extensao = extensao[ (extensao.length-1) ].split("."); extensao = extensao[ (extensao.length-1) ]; if (extensao != "jpg" && extensao != "gif" && extensao != "bmp") { formfotos.botao.disabled = true; formfotos.botao.value = 'Escolha a foto'; }else { formfotos.botao.disabled = false; formfotos.botao.value = 'Enviar foto'; } }
-
Boa tarde amigos. Depois de muito bater cabeça, quase consegui fazer o que eu queria, exceto por uma coisa. Consigo fazer o valor aparecer num select, mas não num input. Vejam os códigos (páginas de exemplo somente, dps mudo pra página definitiva) Nesse página index.php eu tenho a lista de produtos, exibidos via select. index.php <label>Valor</label> <!-- ONDE APARECE ATUALMENTE --> <select name="valor" id="valor"> <option value="">Selecione</option> <option value="Todos">Todos</option> </select> <select name="produto[]" id="produto" class="form-control"> <option value="" selected="selected">Escolha um produto</option> <?php $select = "select * from PRODUTO"; $query = ibase_query($select); while ($array = ibase_fetch_object($query)) { echo ' <option value="'.trim($array->NOME).'" >'.utf8_decode(trim($array->NOME)).'</option> '; } ?> </select> <!-- ONDE EU GOSTARIA QUE APARECESSE --> <input name="valor-unitario[]" id="valor-unitario" type="text" class="form-control" placeholder="Valor unitário"> Nesse script, a mágica é feita, ele envia os valores pra getValor.php, lá é retornado os preços e então deveria aparecer no input do código acima, mas só consigo fazer aparecer no <option> $(document).ready(function(){ $("#produto").change(function(){ $.ajax({ type: "POST", url: "getValor.php", data: {produto: $("#produto").val()}, dataType: "json", success: function(json){ var options = ""; $.each(json, function(key, value){ options += '<option value="' + key + '">' + value + '</option>'; }); $("#valor").html(options); } }); }); }); Já adianto que mudei #valor pra #valor-unitario e options += '<option value="' + key + '">' + value + '</option>'; para options += '<input type="text" name="valor-unitario" value="' + key + '">'; tanto com key, quanto com value Acredito que agora seja só um detalhe pra finalizar essa zebra. Código do getValor.php, pra quem precisar <?php include"../inc/conn.php"; $retorno = array(); $selectValor = "select * from PRODUTO where nome = '".$_POST['produto']."'"; $query = ibase_query($selectValor); while ($array = ibase_fetch_object($query)) { $retorno[trim($array->ID)] = trim($array->PRECO); } echo json_encode($retorno); ?> Conto com vocês amigos. Desde já, muito obrigado.
-
Omar~, te mandei uma MP, por favor, de uma olhada. Ademais, vou tentar adaptar o código ao meu sistema e posto o resultado assim que o fizer. Muito obrigado.
-
Caro Omar~ A parte de pedido do meu sistema será da seguinte forma: Cada vez que clico no + acrescenta mais um item do pedido e no - elimina esse item. Desse modo, uso um vetor, ou seja, o name="valor-unitario[]" pra poder armazenar todos os itens do pedido e no final, tratá-los. Minha pergunta é, com esse seu exemplo daria pra fazer assim? Adaptei seu código, mas não estou conseguindo... /* * Teste.php */ <link href="AjaxRequest.css" rel="stylesheet" type="text/css"/> <script src="AjaxRequest.js" type="text/javascript"></script> <!-- <select id="seletor"> <option value="consulta1">Maçã</option> <option value="consulta2">Laranja</option> <option value="consulta3">Banana</option> </select> --> <select id="id_produto[]" name="id_produto" class="form-control"> <option value="" selected="selected">Escolha um produto</option> <?php require'../inc/conn.php'; $select = "select * from PRODUTO"; $query = ibase_query($select); while ($array = ibase_fetch_object($query)) { echo ' <option value="'.trim($array->ID).'" >'.utf8_decode(trim($array->NOME)).'</option> '; } ?> </select> <input id="valor-unitario" name="valor-unitario[]" type="text" class="form-control" placeholder="Valor unitário"> <!-- <input type="text" id="informacao1"/> <input type="text" id="informacao2"/> --> <div id="local_do_ajax">1</div> <script> var ajax = new AjaxRequest(); document.getElementById('seletor').addEventListener('change', executaAjax, false); function executaAjax(e) { var valor = e.target.value; if (valor) { ajax.pop('local_do_ajax', 'arquivo_php.php?parametro=' + valor, false); } } </script> E /* * Arquivo_php.php - a principio não mudei os nomes */ <?php require'../inc/conn.php'; echo' <script language="javascript"> alert ("Chegou aqui"); </script> '; $_GET['parametro'] = 1; if (isset($_GET['parametro']) && !empty($_GET['parametro'])) { /*$valor = filter_input(INPUT_GET, 'parametro', FILTER_DEFAULT);*/ $select = "select * from PRODUTO where id = ".$_GET['parametro']; $query = ibase_query($conn, $select); $info = ibase_fetch_object($query); ?> <script> document.getElementById('valor-unitario').value = '<?= $info->PRECO ?>'; </script> } Coloquei o GET recebendo 1 só pra testar, mas mesmo assim não deu. Criei uma pasta e colei todos os arquivos lá. Não consigo achar onde estou errando. Se puder abusar de sua boa vontade... eu agradeço. Muito obrigado desde já.
-
Muuuito obrigado Omar pela ajuda. Vou ler atentamente seu conteúdo e vou adaptar para meu sistema. Assim que eu conseguir posto aqui e se caso enroscar rsrs, peço ajuda novamente. Na verdade ele poderá alterar sim, pq o valor é pego do cadastro do produto, mas no momento do pedido, pode ser que ele esteja com valor diferente. Mais uma vez, MUITO OBRIGADO.