Ir para conteúdo

Pesquisar na Comunidade

Mostrando resultados para as tags ''ajax''.

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Todas as áreas do Fórum

  • Q&A Desenvolvimento
    • Perguntas e respostas rápidas
  • Desenvolvimento Web
    • Desenvolvimento frontend
    • Javascript
    • PHP
    • Ruby
    • Python
    • Java
    • .NET
    • Docker, Kubernets e outros ambientes
    • Desenvolvimento com Wordpress
    • Desenvolvimento de apps
    • Desenvolvimento ágil
    • Desenvolvimento de Games
    • Banco de Dados
    • Design e UX
    • Algoritmos & Outras Tecnologias
  • Entretenimento e uso pessoal
    • Segurança & Malwares
    • Geral
    • Boteco iMasters

Encontrar resultados em...

Encontrar resultados que...


Data de Criação

  • Início

    FIM


Data de Atualização

  • Início

    FIM


Filtrar pelo número de...

Data de Registro

  • Início

    FIM


Grupo


Google+


Hangouts


Skype


Twitter


deviantART


Github


Flickr


LinkedIn


Pinterest


Facebook


Site Pessoal


Localização


Interesses

Encontrado 100 registros

  1. AlexandrePrezzi

    Upload de Videos (PHP , AJAX)

    Estou fazendo um formulário onde tenho que enviar um upload de videos .... fiz o mesmo procedimento para imagens e funciona perfeitamente... porem para vídeo nao... Código do Formulário <form id="Form_AddVideos" class="form-group" method="POST" action="javascript:func()" enctype="multipart/form-data"> <input type="hidden" id="ACAO_VIDEO" name="ACAO_VIDEO" value="INSERT_NEW_VIDEOS" /> <input type="hidden" id="ipv100_video" name="ipv100_video" value="<?php echo $_GET['id_pv100']; ?>" /> <input type="hidden" id="tipo_video" name="tipo_video" value="V" /> <div class="container"> <div class="row"> <div class="col-lg-6 col-md-6 col-sm-12 col-xs-12"> <div class="form-group"> <label for="add_videos">Adicionar Fotos</label><br /> <input class="form-control form-control-sm" type="file" name="video[]" multiple="multiple" id="video" accept="video/*" /> </div> </div> </div> <button type="submit" id="btn_Gravar_video" title="Gravar" name="wGravar_video" class="btn btn-primary tp" value="TELA"> <i class="fa fa-save"></i> Gravar </button> <button type="button" class="btn btn-danger tp btn_fechar_modal_cliente" title="Cancelar" data-dismiss="modal" style="margin-left: 5px;"> <i class="fa fa-times"></i> Cancelar </button> </div> </form> Script Ajax para enviar os dados <script type="text/javascript"> $(document).ready(function (e) { $("#Form_AddVideos").on('submit',(function(e) { e.preventDefault(); $.ajax({ enctype: 'multipart/form-data', url: "src/controller/request_videos.php", type: "POST", data: new FormData(this), contentType: false, cache: false, processData:false, beforeSend : function() { //$("#preview").fadeOut(); $('#resultErroVid').html("<img src='img/aguarde.gif' />"); }, success: function(g) { var objVid = JSON.parse(g); if (objVid.rst){ if ($('#ACAO_VIDEO').val() === 'INSERT_NEW_VIDEOS'){ document.getElementById('wOKDivVid').style.visibility = "visible"; document.getElementById('wOKDivVid').style.display = "block"; $('#resultOKVid').html(objVid.msg); setTimeout(function(){ document.getElementById('wOKDivVid').style.visibility = "hidden"; document.getElementById('wOKDivVid').style.display = "none"; $(".modal_proprio_videos").hide(); document.location.reload(true); }, 1200); } else { document.getElementById('wErrorDivVid').style.visibility = "visible"; document.getElementById('wErrorDivVid').style.display = "block"; $('#resultErroCli').html(objVid.msg); setTimeout(function(){ document.getElementById('wErrorDivCli').style.visibility = "hidden"; document.getElementById('wErrorDivCli').style.display = "none"; $(".modal_proprio_imagens").hide(); document.location.reload(true); }, 1200); } } else { //fEnableBtn(Form_Cli_GQPS); document.getElementById('wErrorDivVid').style.visibility = "visible"; document.getElementById('wErrorDivVid').style.display = "block"; $('#resultErroVid').html(objVid.msg); setTimeout(function(){ document.getElementById('wErrorDivVid').style.visibility = "hidden"; document.getElementById('wErrorDivVid').style.display = "none"; $(".modal_proprio_imagens").hide(); document.location.reload(true); }, 2000); }//fim do if/else objCli } }); })); }); </script> Arquivo php request .....(pedaço) if (@$_POST['ACAO_VIDEO'] == 'INSERT_NEW_VIDEOS'){ require_once '../model/setaqueryGQPS.php'; require_once '../model/conecta.php'; //require_once '../model/zConst_GQPS.php'; //require_once '../../../zLib.php'; $wEMP = '001'; $wPV100 = $_POST['ipv100_video']; $video = $_FILES['video']; if ($_POST['ACAO_VIDEO'] == 'INSERT_NEW_VIDEOS'){ //require_once '../model/zConst_GQPS.php'; if($video != ''){ O que acontece que no $_FILES, o arquivo não esta sendo salvo na pasta temporaria..... está vindo vazia essa informação, conforme mostro na imagem .... Alguem sabe me dizer onde ta o problema ? Tenho um procedimento bem semelhante para imagens e funciona perfeitamente.
  2. CiganoA3

    Ajax redireciona indevidamente após completar

    Eu tenho uma situação estranha, que até estou com dificuldades de explicar. Mas vamos la. Tenho um código ajax que é igual ao que coloquei aqui mudando só endereço da url que fiz para testar este erro que está acontecendo na aplicação. O que ocorre, e que tudo funciona, os dados são coletados, o ciclo dos eventos ocorrem sem problemas, mas ao final do ajax ele redireciona a pagina para ela mesma como uma copia com os parâmetros na url. Vou tentar exemplificar para deixar claro. Vamos supor que tenha um formulário com estes parâmetros de inputs nome e telefone que não tem nada haver com o ajax. O ajax ao completar muda o endereço da url do browser, algo como isso. http://endereçodapagina.php?nome=xxxxx&telefone=99912345, carregando a pagina novamente. E este é o comportamento inesperado. E como podem ver o código e muito simples e não vejo razão para este comportamento. function OpenParam(idproxima,statusAlvo){ let pf_id=$("#sf_id").val(); let urlRegras="endereco_alvo.php/"+pf_id+"/"+idproxima; $.ajax({ type:"GET", url:urlRegras, success:function(data, textStatus, request){ alert("sucesso"); }, error:function(data){ alert("error"); }, complete:function(xhr, textStatus){ alert("complete"); } }); }
  3. camisavp

    ASP Clássico, AJAX e Access

    Boa tarde. Estou com umas boas dificuldades aqui. Preciso que, em um formulário grande, eu ao digitar o numero do prontuário, caso já exista ele cadastrado, me retorne alguns campos preenchidos automaticamente. Estou tentando montar um formulário da seguinte maneira: form: input 1: - vai buscar a informação no banco de dados. se possível, com um autopreenchimento durante a digitação input 2: - caso já exista um prontuário, popular o input com os dados retirados do banco de dados input 3: - será preenchido manualmente input 4: - caso já exista um prontuário, popular o input com os dados retirados do banco de dados input 5: - caso já exista um prontuário, popular o input com os dados retirados do banco de dados input 6: - será preenchido manualmente input 7: - será preenchido manualmente ... mais uma série de inputs preenchidos manualmente /form. Não sou um estudioso e nem estou na minha área, pois sou engenheiro, haja visto que a aplicação é residencial e ainda em asp clássico com banco de dados access. kkkkkkkkkk Faço isso como hobby. Passei duas semanas já tentando achar uma solução, porém sem sucesso. Agradeço a ajuda de quem puder colaborar. Grato Marcelo Camisa
  4. Matheus B. Siqueira

    Undefined Variable no const com Json

    Fala pessoal, meu problema é o seguinte: Tento retornar os valores do json_encode via AJAX, só que na hora de armazenar no const ele da erro de: <b>Notice</b>: Undefined variable: videos_pendentes in <b>C:\xampp\htdocs\tcc\monitor.php</b> on line <b>504</b><br /> <br /> <b>Notice</b>: Trying to access array offset on value of type null in <b>C:\xampp\htdocs\tcc\monitor.php</b> on line <b>504</b><br /> null); Não sei qual seria a melhor forma de retornar esses dados, alguma sugestão? AJAX: $('#btn-lista-videos-carousel').click(function() { var nome_monitor = $("#nomecomp").val(); $.ajax({ url: 'pesquisar_video_pendente.php', data: {nome_monitor}, dataType: 'json', type: "POST", complete: function(data) { const videos_pendentes = JSON.parse(<?php echo json_encode($videos_pendentes[0]) ?>); let itens = ''; let indicadores = ''; $('#botaobaixar').hide(); $('#tudo_monitor').hide(); $('#carouselExampleIndicators_2').hide(); if (videos_pendentes.length > 0) { videos_pendentes.forEach(function(video, indice) { indicadores += '<li data-target="#carouselExampleIndicators" data-slide-to="' + indice + '" class="' + (indice == 0 ? 'active' : '') + '"></li>' itens += '<div data-link_video="' + video.link_video + '" data-id="' + video.idvideo_monitor + '" data-titulo="' + video.titulo_video + '" data-situacao="' + video.situacao + '" class="carousel-item ' + (indice == 0 ? 'active' : '') + '">'; itens += ' <iframe width="100%" height="350" src="https://www.youtube.com/embed/' + video.link_video + '" frameborder="0" allowfullscreen></iframe>' itens += '</div>'; }); $('#tudo_monitor').show(); $('#carouselExampleIndicators').show(); $('#carousel-indicadores').html(indicadores); $('#carousel-itens').html(itens); } else { alert('Nenhum vídeo pendente'); } } }); }); E o meu PHP, a qual busca os dados no mysql: <?php $monitor = $_POST['nomecomp']; $servidor = 'localhost'; $usuario = 'root'; $senha = 'root'; $banco = 'onteach'; $conexao = mysqli_connect($servidor, $usuario, $senha, $banco); $consulta = "SELECT * FROM video_monitor WHERE video_monitor.monitor = '$monitor' AND video_monitor.pendente = 1 OR video_monitor.pendente = 3"; $resultados = mysqli_query($conexao, $consulta); $videos_pendentes = array(); while ($video = mysqli_fetch_assoc($resultados)) $videos_pendentes[] = $video; mysqli_free_result($resultados); mysqli_close($conexao); $videos_pendentes = json_encode($videos_pendentes); echo json_encode($videos_pendentes); ?>
  5. Olá, tento fazer uma requisição para atualização de item do accordion no mysql, porém apenas um item é atualizado. O código funciona da seguinte forma: É buscado perguntas referente ao vídeo selecionado no carousel, logo após, o código da Amostra de Código 1, cria os cards dentro do modal. Cada card é referente a uma pergunta diferente registrada no Banco de Dados. Porém, ao tentar atualizar um item do MYSQL, dentro do card, no textarea, o primeiro item (1º pergunta) desse accordion é atualizado, o segundo item (2º pergunta) não é atualizado. Cada pergunta possui um id no MYSQL, bem como, um assunto, uma resposta, uma pergunta... de acordo com a Figura 01. Vale ressaltar que, de acordo com a Amostra de Código 2, é buscado juntamente com o AJAX, todas as perguntas referente ao vídeo selecionado no carousel. Amostra de Código 1: $(document).ready(function() { $(function() { $('#responder_duvidas').click(function() { var codigoVideo2 = $('.carousel-item.active').attr('data-link_video'); var accordion2 = ""; $.post("buscar_duvida_monitor_resp.php", { codigo_video_monitor: codigoVideo2, }, function(data2, status) { if (data2 !== "Fail") { $("#dynamic_accordion #accordion").html(accordion2); // Adiciona essa linha $.each(JSON.parse(data2), function (index2, duvida3) { accordion2 += '<div class="card" style="margin: 5px">'; accordion2 += '<div class="card-header" id="heading'+index2+'">'; accordion2 += '<h5 class="mb-0">'; accordion2 += '<button class="btn btn-link" data-toggle="collapse" data-target="#collapse'+index2+'" aria-expanded="true" aria-controls="collapse'+index2+'">'; accordion2 += duvida3.assunto; accordion2 += '</button>'; accordion2 += '</h5>'; accordion2 += '</div>'; accordion2 += '<div id="collapse'+index2+'" class="collapse" aria-labelledby="heading'+index2+'" data-parent="#accordion">'; accordion2 += '<div class="card-body">'; accordion2 += '<div style="background: #ddd; color #fff; padding: 10px 20px; border-radius: 5px">'; accordion2 += duvida3.pergunta; accordion2 += '</div>'; accordion2 += '<hr>'; accordion2 += '<div style="background: #fff; color #fff; padding: 10px 20px; border-radius: 5px">'; accordion2 += '<form method="post" enctype="multipart/form-data">'; accordion2 += '<textarea class="form-control" name="resposta" id="resposta" required>'+duvida3.resposta+'</textarea>'; accordion2 += '<input type="hidden" id="id_duvidas" value="'+duvida3.idduvidas+'" />'; accordion2 += '<br><button type="button" id="enviar_resposta" class="btn btn-success btn-sm">Enviar resposta</button>'; accordion2 += '</form>'; accordion2 += '</div>'; accordion2 += '</div>'; accordion2 += '</div>'; accordion2 += '</div>'; $("#dynamic_accordion #accordion").html(accordion2); }); } }); }); $(document).on("click", "#enviar_resposta",function(){ $.ajax({ url: "atualizar_resposta.php", method: "POST", data: { resposta: $('#resposta').val(), idduvidas: $('#id_duvidas').val() }, success: function(res) { var data = JSON.parse(res); alert((data.success == true) ? "Pergunta atualizada" : "Pergunta não atualizada"); $('.modal-backdrop').remove(); return; } }); // fecha modal $("#modalDuvidas").modal("hide"); }); }); }); Figura 1: Amostra de Código 2: <?php if (isset($_POST['idduvidas']) && isset($_POST['resposta'])) { $id_resposta = $_POST['idduvidas']; $resposta = $_POST['resposta']; $servidor = 'localhost'; $usuario = 'root'; $senha = 'root'; $banco = 'onteach'; $conexao = mysqli_connect($servidor,$usuario,$senha,$banco); $consulta2 = "UPDATE duvidas SET duvidas.resposta = '$resposta' WHERE duvidas.idduvidas = '$id_resposta'"; die(json_encode(['success'=>(mysqli_query($conexao, $consulta2))])); } Figura 2 (FIGURA COMPLEMENTAR APRESENTANDO O ACCORDION NO WEBSITE) Por fim, este tópico auxilia em um tema que é específico, porém, pode ser utilizado para outros fins de programação, bem como, a utilização de definição de váriantes em accordion com maiores itens. Desde já, agradeço.
  6. fideles

    Preencher inputs com base em informações do BD

    Mais uma vez venho aqui pedir ajuda a vocês. Tenho um formulario que criei aqui na empresa algo bem simples, somente para sair das planilhas de excel, que seria cadastro de funcionarios. Tem os campos, matricula, nome completo, unidade de trabalho, endereço e telefone de emergencia. A parte do formulario funciona, a gravação no BD tbm, listar as informações também, ai me perguntaram se era possível um auto preenchimento dos campos colocando somente a matricula do funcionario e respondi que eu não sei porque realmente não sei. A ajuda que eu preciso de vocês seria, é possível fazer isso ? Colocar a matricula e vir do banco e preencher os outros inputs? Se sim, é possível me derem um exemplo de como funciona e eu estudar o codigo e colocar nos outros inputs. Obrigado antecipadamente.
  7. Authent

    recuperar id em fomato de link ajax

    Gente tenho um laço de repetição onde exibi uma lista , nele contem um botão para atualizar o nível desses itens, porem queria que a pagina não desse refresh e ao mesmo tempo enviasse uma msg para o "TD" daquele item atualizado, e utilizei o Ajax que envia no metodo post o id, porem ele está enviando só o ultimo id da lista alguem poderia me ajudar. Abaixo explicarei melhor while($row = $select->fetch(PDO::FETCH_ASSOC)): ?> <tbody> <tr> <td><?php echo $row['nome'];?></td> <td><?php echo $row['data'];?></td> <td class="contador<?php echo $row['id']; ?>"> <ul class="actions"> <li><a href="" id="<?php echo $row['id'];?>" class="ative btnUpdate"><i class="fas fa-check"></i> Atualizar</a></li> </ul> </td> </tr> </tbody> <form class="ajax_form"> <input type="hidden" class="id" name="id" value="<?=$row['id']?>" /> </form> <?php endwhile; ?> Nesse laço de repetição eu adicionei um td com uma class ID, para que a msg enviada fosse só para aquele td, até ai esta funcionando normal e o link que contem o ID = id, e um formulario dentro do while, e o valor do input é o valor do id <script> $(document).ready(function(){ $("body").delegate('.btnUpdate', 'click', function(e){ e.preventDefault() //Para anular o comportamento padrão do link var dados = $(".ajax_form").serializeArray(); var id = $(this).attr("id"); var contador = id; $.ajax({ url: "action/test.php", type: "POST", data: dados, success: function (resultado) { console.log(resultado); $('.contador'+contador+'').html(resultado); }, error: function (jqXHR, textStatus, errorThrown) { alert(jqXHR) console.log(jqXHR); } }); }) }); </script> e no script do Ajax ele recupera os dados, e enviar uma msg de sucesso para a class .contador+id(nessa parte está funcionando perfeitamente), porem como mencionado o id que está sendo enviado para o arquivo test.php é sempre o ultimo id do meu while alguem poderia me ajudar. se houver outro método estou aceitando também
  8. FabianoSouza

    Enviar texto junto com emoji por AJAX

    Pessoal, qual a forma correta de enviar emoji por AJAX ao meu backend? Tem que usar: encodeURIComponent(minhaString) ?? Quando envio uma string que tem texto junto com emoji, meu código não funciona. Quando envio apenas o emoji, vai um código meio louco para o backend. Qual a maneira correta de tratar isso? Seria separar texto de emoji para enviar, e no backend juntar tudo novamente para poder gravar no banco? Preciso entender conceitualmente qual é a melhor forma de tratar essa situação, depois partir para a programação. Já fiz os testes do meu banckend: grava emoji com texto direitinho. O problema está realmente no meu frontend. Preciso saber como devo fazer o POST dos dados. Valew!!
  9. Boa tarde Pessoal tudo bom? Durante um tempo eu fui estudante de programação, para web. E esse forum me foi muito util pois aprendi muitas coisas, e tirei muitas duvidas com todos os participantes. Por outro lado não segui a carreira de programado pois tive outras oportunidades. Em fim, estou com um projeto de criar uma plataforma online para eventos, e estou tentando montar um time chegar nesse objetivo. Por hora ainda estou tentando juntando a equipe necessária para isso acontecer. Pela pouca experiência que tive na programação, sei que fazer essa plataforma é bem complexa principalmente com as necessidades que vamos englobar, porém o mercado esta escasso de plataformas flexíveis, no sentido de oferecer algumas ferramentas básicas na comunicação. apesar de ja existir algumas plataformas no mercado. Resumo: 1-) Procuro por programadores backend com experiência (não sei exatamente informar a linguagem) mas chuto que Java, Javascript e PHP sejam fundamentais. (sei que abusaremos muito do AJAX) 2-) Programador FrontEnd, com experiência. E que tenha principalmente em boas praticas, pois código sujo cheio de plugins tornará a plataforma pesada, e cheia de bugs. PS: Não procuro nada pronto, claro que plugins coisas são inevitáveis porém para funcionarmos Lisos com menos bugs possíveis procuro algo feito “artesanalmente” rsrs. Obs: o projeto esta no inicio ainda, estou juntando contatos para chegar no objetivo, e assim que tiver um contato gostaria de poder conversar trocar ideias, caso seja um projeto onde você se identifique nada impede de sermos parceiros ter uma % sobre o negocio. Obs2: Desculpem se escrevi meio enrolado ou esta complicado de entender. pois apenas disse plataforma de eventos e não especifiquei nada. mas assim que receber um contato eu passo mais informações com alguns links de exemplos, que é melhor que falar. E caso aqui seja o lugar correto posso passar mais informações por aqui também. Seguem alguns exemplos de plataforma de eventos online. Download de 2 PDFs de apresentações do mesmo segmento Site de uma das plataformas porém proximo do que almejamos https://www.swaper.com.br/ Fico a disposição, Desculpem se postei no local incorreto
  10. Rafael Castelhano

    Ajax + Django

    Olá, nunca fiz consulta com Ajax e estou quebrando a cabeça para atualizar um campo no Django, tenho um template de funcionário e assim que selecionar a matricula quero que busque via ajax o nome do funcionário, segue no link meus arquivos, se alguém puder ajudar agradeço: https://gist.github.com/castelhano/dcbdbd6bef0d0012efddae544224a5a5
  11. sirrocha

    Como usar o AJAX para dar UNSET?

    Olá pessoal, sou iniciante só que tenho um projeto com uma certa pressão de tempo pra fazer. Um dos problemas que estou tendo é relacionado ao clicar em um tipo "a href" e aplicar uma função. Pelo que vi, tenho que usar AJAX mas não tenho nenhuma noção de como iniciar, mesmo vendo muitos vídeos...Basicamente tenho uma página onde está carregando algumas sessões. Porém, ao clicar neste botão: 1 <p><a class="link" name="final" id="fin" onclick="finalizar()" href="areaUsuario.php" style="text-decoration:none;">finalizar</a></p> Estava tentando chamar uma função do tipo finalizar(), que iria dar UNSET em duas sessões específicas que eu precisava desligar (por isso não posso usar o destroy para tirar todas). 1 2 3 4 5 6 7 8 9 <script type="text/javascript">> <?php function finalizar() { unset($_SESSION['prestacao']); unset($_SESSION['nomeproj']); header("location:areaUsuario.php"); } ?> </script> O que eu fiz e falaram que estava errado era isso. Como posso usar o AJAX neste caso para desligar essas duas funções e enviar o usuário para a área inicial? Por favor, se possível, enviar uma base de como poderia fazer com o raciocínio. É algo urgente, mas também gostaria de aprender.
  12. DinhoPHP

    Exibir galeria sob demanda

    Pessoal, tenho um código PHP que busca imagens em subpastas, porém gostaria de fazê-lo com que fosse carregado aos poucos pois são muitas fotos, tentei de ns maneiras entender o AJAX, mas não tive sucesso. Favor! Peço ajuda. loadAjax.php $dir = new DirectoryIterator( './images/portfolio/sem_categoria' ); // array contendo os diretórios permitidos $diretoriosPermitidos = array("portfolio","sem_categoria"); foreach($dir as $file) { // verifica se $file é diferente de '.' ou '..' if (!$file->isDot()) { // listando somente os diretórios if ( $file->isDir() ) { // atribui o nome do diretório a variável $dirName = $file->getFilename(); // subdiretórios $caminho = $file->getPathname(); // chamada da função de recursividade recursivo($caminho, $dirName); } // listando somente os arquivos do diretório if ( $file->isFile() ) { // atribui o nome do arquivo a variável $fileName = $file->getFilename(); // print //echo "Arquivos: ".$fileName."<br>"; } } } function recursivo( $caminho, $dirName ){ global $dirName; $DI = new DirectoryIterator( $caminho ); foreach ($DI as $file){ if (!$file->isDot()) { if ( $file->isFile() ) { // $fileName = $file->getFilename(); // //echo $dirName.": ".$fileName."<br>"; echo "<div class='col-12 col-sm-6 col-md-4 col-lg-3 mb-2 d-flex justify-content-center' alt=''> <a href='{$fileName}' class='fresco' data-fresco-group='example' data-fresco-caption='ARJ SERVICE'> <img class='eni-img-thumb' src='images/portfolio/sem_categoria/{$dirName}/{$fileName}'> </a> </div>"; } } } } Tentei adaptar o código abaixo as minhas necessidades, mas não consegui. <script> //variavel para controle de registros retornados var pagina = 0; var pesquisa = true; //function carrega function carrega(){ $('#loading').html("<img src='img/loader.gif'/> Carregando Feeds...").fadeIn('fast'); $.ajax({ type: "POST", url: "loadAjax.php", data: "page="+pagina,//variavel passada via post cache: false, success: function(html){ if(html){ $('#loading').fadeOut('fast'); $("#result").append(html); //mostra resultado na div result pesquisa = true; }else{ $('#loading').html("Fim da pesquisa...").fadeIn('fast'); pesquisa = false; } }, error:function(html){ $('#loading').html("erro...").fadeIn('fast'); } }); }; //chama minha funcao ao carregar a pagina $(document).ready(function(){ carrega(); }); //funcao de controle do scroll da pagina, na qual ela chega ao fim é acionada chamando //minha function carrega novamente para trazer mais dados dinamicamente $(window).scroll(function(){ if($(window).scrollTop() + $(window).height() >= $(document).height()){ pagina += 1; carrega(); }; }); </script>
  13. mamotinho

    Erro ao enviar imagem via ajax usando sweetalert2

    Olá, estou tentando enviar a url que corresponde a imagem porém não é possivel enviar essa url pois ela é muito grande, teria alguma maneira de eu conseguir fazer esse envio sem perde muito o sentido. já rodei a internet toda mais não conseguir resolver a questão. segua abaixo o exemplo function photo(idx){ var character = idx; (async () => { const { value: file } = await Swal.fire({ input: 'file', inputAttributes: { accept: 'image/*', 'aria-label': 'Selecione sua imagem' } }) if (file) { const reader = new FileReader() reader.onload = (e) => { var mystring = e.target.result; var encodedString = btoa(mystring); //alert(encodedString); //código que envia os dados. new Ajax.Updater('carfunc', 'pag/request/user/swal.php?Idx='+character+'&form=6&image='+encodedString, {method: 'get', asynchronous:true, evalScripts:true}); carregando('#carfunc'); } reader.readAsDataURL(file) } })() } Aqui é a chamada da função: <div class="skillBlock"> <div class="skillBlock-block"> <div class="skillBlock-img"> <img src="images/skill_5.jpg" alt=""> <span class="m-number">3</span> </div> <div class="skillBlock-info" style="cursor:pointer;" onclick="javascript:photo('<?=soNumero(antSQL(anti_injection(htmlspecialchars($rowsCharacter->CharacterIdx))))?>')"> <p>Adicionar Emblema</p> adicione emblema de guild </div> </div> Algum especialista do coração bom poderia me tirar esse sufoco.
  14. Mandei uma imagem em anexo pra entender Alguém pode me ajudar como posso fazer um script que vai pegar o id de cada produto ir no banco de dados e atualizar o campos visualizações vendas concretizadas isso de modo automatico sem que eu precise ficar clicando em atualizar a pagina
  15. DinhoPHP

    Problemas ao enviar anexo com PHPMailer

    Estou tentando enviar um anexo e o mesmo não chega no email, apenas quando não faço uso da função attach. arquivo que contém as functions responsáveis pelo envio do email. public function attach(string $filePath, string $fileName): Email{ $this->data->attach[$filePath] = $fileName; return $this; } Arquivo que utiliza a função attach. No arquivo que captura os dados do formulário, já passei os parâmetros de tudo quanto é jeito. require __DIR__ . "/include/head.php"; require __DIR__ . "/vendor/autoload.php"; use Source\Support\Email; $email = new Email(); // CAPTURANDO DADOS DO FORMULÁRIO $nome = trim(ucwords(preg_replace('/\s\s+/', ' ',($_POST['nome-curriculo'])))); $eemail = trim(strtolower(preg_replace('/\s\s+/', ' ',($_POST['email-curriculo'])))); $telefone = trim(preg_replace('/\s\s+/', ' ',($_POST['telefone-curriculo']))); $cidade = trim(preg_replace('/\s\s+/', ' ',($_POST['cidade-curriculo']))); $assunto = trim(preg_replace('/\s\s+/', ' ',($_POST['assunto-curriculo']))); $mensagem = trim(preg_replace('/\s\s+/', ' ',("<pre>".$_POST['mensagem-curriculo']."</pre>"))); // $file_tmp = ($_FILES['file'], $_POST['name']); $files = $_FILES['curriculo']; $email->add($assunto, "<h3>Nome: {$nome}<br>{$files['name']}<br>Email: {$eemail}<br><br>Telefone: {$telefone}<br><br>Cidade: {$cidade}<br><br></br>Mensagem:<br>{$mensagem}</h3>", $nome, $eemail)->attach($files['tmp_name'], $files['name'])->send(); var_dump($files); A função attach que recebe dois parâmetros, quando utilizada, não envia o anexo vindo do form HTML, já digitando os parâmetros na função, ela envia o anexo. Já li até alguns casos semelhantes aqui mesmo e nada! Só envia o anexo digitando os parâmetros manualmente.
  16. Iai galera blz? Tô com uma duvida aqui. Eu tenho um menu Vertical Tabs que basicamente me ajuda a navegar em uma pagina sem precisar criar varias rotas para outras paginas. Segue o codigo: <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <style> * {box-sizing: border-box} body {font-family: "Lato", sans-serif;} /* Style the tab */ .tab { float: left; border: 1px solid #ccc; background-color: #f1f1f1; width: 30%; height: 300px; } /* Style the buttons inside the tab */ .tab button { display: block; background-color: inherit; color: black; padding: 22px 16px; width: 100%; border: none; outline: none; text-align: left; cursor: pointer; transition: 0.3s; font-size: 17px; } /* Change background color of buttons on hover */ .tab button:hover { background-color: #ddd; } /* Create an active/current "tab button" class */ .tab button.active { background-color: #ccc; } /* Style the tab content */ .tabcontent { float: left; padding: 0px 12px; border: 1px solid #ccc; width: 70%; border-left: none; height: 300px; } </style> </head> <body> <h2>Vertical Tabs</h2> <p>Click on the buttons inside the tabbed menu:</p> <div class="tab"> <button class="tablinks" onclick="openCity(event, 'London')" id="defaultOpen">London</button> <button class="tablinks" onclick="openCity(event, 'Paris')">Paris</button> <button class="tablinks" onclick="openCity(event, 'Tokyo')">Tokyo</button> </div> <div id="London" class="tabcontent"> <h3>London</h3> <p>London is the capital city of England.</p> </div> <div id="Paris" class="tabcontent"> <h3>Paris</h3> <p>Paris is the capital of France.</p> </div> <div id="Tokyo" class="tabcontent"> <h3>Tokyo</h3> <p>Tokyo is the capital of Japan.</p> </div> <script> function openCity(evt, cityName) { var i, tabcontent, tablinks; tabcontent = document.getElementsByClassName("tabcontent"); for (i = 0; i < tabcontent.length; i++) { tabcontent[i].style.display = "none"; } tablinks = document.getElementsByClassName("tablinks"); for (i = 0; i < tablinks.length; i++) { tablinks[i].className = tablinks[i].className.replace(" active", ""); } document.getElementById(cityName).style.display = "block"; evt.currentTarget.className += " active"; } // Get the element with id="defaultOpen" and click on it document.getElementById("defaultOpen").click(); </script> </body> </html> Fonte: https://www.w3schools.com/howto/howto_js_vertical_tabs.asp Blz, agora digamos que eu tenha saído da pagina onde tem esse Vertical tab e quando retornar eu gostaria de voltar justamente do lugar de onde eu sai. Por exemplo, digamos que eu tenha saído do menu na parti Paris para uma pagina onde tem tudo de Paris quando eu apertar no botão voltar eu quero retornar a pagina onde tem o menu e quero que ele fique na opção Paris inclusive marcado. Quando ele volta ele só vai para a primeira opção. Tem algum jeito de fazer isso?
  17. Bom dia, Eu to fazendo um projeto onde preciso ir adicionando eventos. Quando eu adiciono dois ou mas do primeiro setor selecionado da tudo certo. Mas quando removo e altero o setor, o select vem duplicado e os eventos vem duplicado também. Depois de remover e trocar o setor e adicionar novos eventos. --- popular a primeira aba que ja vem na pagina. $(function(){ $('#setor').change(function(){ if( $(this).val() ) { $('#evento').slideUp(); $.getJSON('function_setor.php?search=',{setor: $(this).val(), ajax: 'true'}, function(j){ var options = '<option value="">Escolha Evento</option>'; for (var i = 0; i < j.length; i++) { options += '<option value="'+j.id+'">'+j.desc+'</option>'; } $('#evento').html(options).slideDown(); }); } else { $('#evento').html('<option value="">Escolha Evento</option>'); } }); }); ---poupula as option dos select quando adiciono novo evento. $('#setor').blur(function(){ var sector = $(this).val(); $("#add").click(function(event) { cont ++; $("#new_add").append('<div class="row" id="campo'+cont+'"><div class="col"><div class="row"><div class="col"><button type="button" id="'+cont+'" class="btn btn-outline-secondary tamanho">-</button></div><div class="col"><select class="custom-select" id="evento'+cont+'" name="evento[]" tabindex="2"><option value="">Escolha Evento</option></select></div></div></div><div class="col"><textarea class="form-control" name="relato[]" id="relato'+cont+'" tabindex="3" placeholder="DESCRIÇÃO DO ACONTECIMENTO" required></textarea></div></div>'); $.getJSON('function_setor.php?search=',{setor: sector, ajax: 'true'}, function(j){ for (var i = 0; i < j.length; i++) { $("#evento"+cont+"").append('<option value="'+j.id+'">'+j.desc+'</option>'); } console.log(j); }); }); }); se puder me ajudar com esse problema que so ocorre quando eu troco o setor.
  18. Matheus B. Siqueira

    Erro em Undefined Index com Jquery e Php

    Estou desenvolvendo um código para enviar um texto digitado pelo usuário para outro php, em uma textarea, como abaixo: <label for="message-text" class="col-form-label">Comentário:</label> <textarea class="form-control" name="situacao" id="situacao"></textarea> Logo após desenvolvi um código em ajax para enviar esta informação para outro php: $(function inserirComentario(situacao){ $("#enviar_comentario").click(function(){ var situacao = $("#situacao").val(); var id = $('.carousel-item.active').attr('data-id') $.ajax({ url: 'video_professor_comentario.php', data: {'comentario_situacao' : $("#situacao").val()}, type: 'post', dataType:'json', success: function(output) { alert(output); }, error: function(request, status, error){ alert("Error: Could not delete"); } }); location.href='video_professor_comentario.php?id='+id }); }); Porém ao tentar enviar o erro que é apresentado é: Notice: Undefined variable: situacao in C:\xampp\htdocs\tcc\video_professor_comentario.php on line 26NULL O código em PHP, que é enviado, video_professor_comentario.php, consta abaixo: <?php //se não tiver o parametro, mata a aplicação. if(!isset($_GET['id'])) die(); if (isset($_POST['comentario_situacao'])) { $situacao = $_POST['comentario_situacao']; } //Aqui está um exemplo simples de como fazer uma conexão PDO $host = 'localhost'; $db = 'onteach'; $user = 'root'; $pass = 'root'; $charset = 'utf8mb4'; $dsn = "mysql:host=$host;dbname=$db;charset=$charset"; try { $pdo = new PDO($dsn, $user, $pass); } catch (PDOException $e) { throw new PDOException($e->getMessage(), (int)$e->getCode()); } var_dump($situacao); $pdo->exec("UPDATE `video_monitor` SET `situacao` = '.$situacao.' WHERE `video_monitor`.`idvideo_monitor` = ".$_GET['id']); var_dump($pdo); ?> <script> alert('Vídeo enviado ao monitor com sucesso!') var_dump($pdo); //location.href='professor.php' </script> Caso alguém souber resolver o erro, seria de muita ajuda para mim, visto que este trabalho é para meu tcc e os professores não ajudam muito!
  19. Luccas Gaulia

    AJAX erro, não envia os dados

    Ola, Não entendi ainda porque não envia via POST os dados no AJAX, vai direto para o error, e abre o Modal dizendo que houve o erro e rapidamente direciona para a página, mesmo esse modal não sendo para isso... Coloquei o Alert e ele faz a mesma coisa, abre o Alert de Error e direciona para página... Não estou utilizando a url:, pois o caminho é o mesma da página e mesmo utilizando, nada muda... colocando em outro php e chamando, também dá erro. Preciso entender sobre essa situação para enviar meus dados via POST e ajax $(document).on("click", '#updateStatusEquip', function() { $.ajax({ type: "POST", data: { value_id : $('#admin_id').val() }, success: function(data) { // Check the output of ajax call on firebug console console.log(data); $(".modal-body-info").html("Sucesso: Status do Registro alterado com sucesso"); $("#myModalMessage").modal("show"); }, error: function () { $(".modal-title").html("Erro"); $(".modal-body-info").html("Erro: Registro não foi inserido"); $("#myModalMessage").modal("show"); } }); }); <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <!-- Modal - Message --> <div class="modal fade" id="myModalMessage" tabindex="-1" role="dialog" aria-labelledby="myModalMessage"> <form method="post" id="ze-form" > <div class="modal-dialog modal-dialog-centered" role="document"> <div class="modal-content"> <div class="modal-header"> <h4 class="modal-title"></h4> <button type="button" class="close" id="reloadTable" data-dismiss="modal" aria-label="Fechar"><span aria-hidden="true">&times;</span></button> </div> <div class="modal-body"> <div class="modal-body-info"> <b>Registro de:</b><br>Jonhy<input type="hidden" name="admin_id" id="admin_id" value="2"><br><b>Têm certeza que deseja alterar o status desse registro?</b><br>Poderá não ser capaz de acessar o Sistema</div> </div> <div class="modal-footer"> <button type="button" class="btn btn-danger" id="reloadTable" data-dismiss="modal">Fechar</button> <div class="modal-footer-button"><button type="submit" name="updateStatusEquip" id="updateStatusEquip" title="Alterar..." class="btn btn-warning">Alterar <i class="fas fa-level-up-alt ze-icon-m"></i><i class="fas fa-level-down-alt ze-icon-m"></i> </button></div> </div> </div> </div> </form> </div>
  20. O DataTables está funcionando, todos os Buttons funcionam e chamam a tabela, estou utilizando load para abrir a tabela por ajax, faz o reload normalmente, porém as demais ações não, como: Paginação, clica na página 2, muda as descrições abaixo e o número da página, mas não muda as linhas; Buscar, não funciona, porém utilizando uma busca externa com myFunction de uma coluna, funciona; Ordenar, não funciona, o ícone até muda para baixo ou para cima... O que estou entendendo que os valores puxados pelo Ajax da lista gerado pelo PHP estão estáticas e nada muda. Quando utilizava o foreach dentro da página e listava tudo, funciona corretamente... Estava querendo separar para poder trabalhar com reload e colocar inserir e editar com modais sem precisar atualizar a página. equipAll.php <?php include '../datasourceGestao.php'; $datasource = new datasource(); $result = $datasource->getAllEquip(); $row = array(); foreach ($result as $array) { $row[] = array('admin_id' => $array['admin_id'], 'first_name' => $array['first_name'], 'last_name' => $array['last_name'], 'email' => $array['email'], 'gender' => $array['gender'], 'birth_date' => $datasource->invertDate($array['birth_date']), 'telephone' => $array['telephone'], 'mobile' => $array['mobile'], 'nivel' => $array['nivel'], 'status' => $array['status'] ); } $output = array( "draw" => intval($_POST["draw"]), "iTotalRecords" => count($row), "iTotalDisplayRecords" => count($row), "aaData" => $row ); $response = json_encode($output); echo $response; ?> $(document).ready(function () { var table = $('#myTable').DataTable( { dom: 'Bfrtip', processing:true, serverSide:true, ajax:{ "url": "php_action/equipAll.php", "type":"POST" }, autoWidth: false, responsive: true, orderCellsTop: true, bFilter: true, fixedHeader: false, deferRender: true, pagingType: "full_numbers", lengthMenu: [ [ 10, 25, 50, -1 ], [ '10 linhas', '25 linhas', '50 linhas', 'Todos' ] ], searching: true, select: true, select: { style: 'multi+shift', }, columns: [ { data: 'admin_id' }, { data: 'action' }, { data: 'first_name'}, { data: 'last_name' }, { data: 'email' }, { data: 'gender', "defaultContent": "", "fnCreatedCell": function (nTd, sData, oData, iRow, iCol) { if("1"==sData){ $(nTd).html("<i class='fas fa-venus ze-icon-m'></i>"); } else if("2"==sData){ $(nTd).html("<i class='fas fa-mars ze-icon-m'></i>"); } else{ $(nTd).html("<i class='fas fa-venus-mars ze-icon-m'></i>"); } } }, { data: 'birth_date' }, { data: 'telephone' }, { data: 'mobile' }, { data: 'nivel', "defaultContent": "", "fnCreatedCell": function (nTd, sData, oData, iRow, iCol) { if("1"==sData){ $(nTd).html("<i class='fas fa-user-tie ze-icon-m'></i>"); } else{ $(nTd).html("<i class='fas fa-user ze-icon-m'></i>"); } } }, { data: 'status', "defaultContent": "", "fnCreatedCell": function (nTd, sData, oData, iRow, iCol) { if("2"==sData){ $(nTd).html("<i class='fas fa-toggle-on ze-icon-m'></i>"); } else{ $(nTd).html("<i class='fas fa-toggle-off ze-icon-m'></i>"); } } } ], columnDefs: [ { "targets": [ 0 ], "visible": true, "searchable": true, "data": "admin_id" }, { "targets": [ 1 ], "data": null, "defaultContent": "<div class='btn-group' role='group' aria-label='Button group with nested dropdown'><div class='btn-group' role='group'><button id='btnGroupDrop1' type='button' class='btn btn-secondary dropdown-toggle' data-toggle='dropdown' aria-haspopup='true' aria-expanded='false'><i class='fas fa-cogs ze-icon-m' aria-hidden='true'></i></button><div class='dropdown-menu' aria-labelledby='btnGroupDrop1'><button type='button' class='btn btn-link' id='Detail' name='Detail'><i class='fas fa-eye ze-icon-m' aria-hidden='true'></i></button><button type='button' class='btn btn-link' id='Edit' name='Edit'><i class='fas fa-edit ze-icon-m'></i></button><button type='button' class='btn btn-link' id='confirmDelete' name='confirmDelete'><i class='fas fa-trash-alt ze-icon-m'></i></button><button type='submit' class='btn btn-link' id ='confirmStatus' name='confirmStatus'><i class='fas fa-toggle-on ze-icon-m'></i></button></div></div></div> " }, { "targets": [ 2 ], "visible": true, "searchable": true, "data": "first_name" }, { "targets": [ 3 ], "visible": true, "searchable": true, "data": "last_name" }, { "targets": [ 4 ], "visible": true, "searchable": true, "data": "email" }, { "targets": [ 5 ], "visible": false, "searchable": true, "data": "gender", }, { "targets": [ 6 ], "visible": false, "searchable": true, "data": "birth_date" }, { "targets": [ 7 ], "visible": false, "searchable": true, "data": "telephone" }, { "targets": [ 8 ], "visible": false, "searchable": true, "data": "mobile" }, { "targets": [ 9 ], "visible": false, "searchable": true, "data": "nivel" }, { "targets": [ 10 ], "visible": false, "searchable": false, "data": "status" } ], buttons: [ { extend: '', text: '<i class="fa fa-user-plus ze-icon-gg" style="color:blue;"></i>', titleAttr: 'Novo Registro', action: function (e, node, config){ $('#myModalInsert').modal('show') } }, { extend: 'pageLength', text: '<i class="fas fa-list-ol ze-icon-gg" style="color:purple;"></i>', titleAttr: 'Mostrar', }, { extend: 'copyHtml5', text: '<i class="fas fa-copy ze-icon-gg" style="color:gray;"></i>', titleAttr: 'Copiar', key: { key: 'c', altKey: true }, exportOptions: { modifier: { page: 'current', columns: ':visible' } } }, { extend: 'excelHtml5', text: '<i class="fas fa-file-excel ze-icon-gg" style="color:green;"></i>', titleAttr: 'Excel', exportOptions: { modifier: { page: 'current', columns: ':visible' } } }, { extend: 'pdfHtml5', text: '<i class="far fa-file-pdf ze-icon-gg" style="color:red; background-color:transparent;"></i>', titleAttr: 'PDF', orientation: 'A4', //portrait or landscape alignment: 'center', pageSize: 'LEGAL', exportOptions: { columns: ':visible' } }, { extend: 'print', text: '<i class="fas fa-print ze-icon-gg" style="color:orange;"></i>', titleAttr: 'Print', exportOptions: { columns: ':visible' } }, { extend: 'colvis', text: '<i class="fas fa-columns ze-icon-gg"></i>', titleAttr: 'Alterar Colunas Visiveis', "columns": ':not(.noVis)' }, { extend: 'selectNone', text: '<i class="fas fa-th ze-icon-gg"></i>', titleAttr: 'Remover todos os selecionados' }, { extend: 'selectRows' , text: '<i class="fas fa-minus ze-icon-gg"></i>', titleAttr: 'Selecionar linha(s)' }, { extend: 'selectColumns', text: '<i class="fas fa-th-large ze-icon-gg"></i>', titleAttr: 'Selecionar coluna(s)' }, { extend: 'selectCells', text: '<i class="fas fa-object-group ze-icon-gg"></i>', titleAttr: 'Selecionar celula(s)' } ], language: { "decimal": "", "emptyTable": "Não avaliação deste registro", "info": "Mostrar de _START_ a _END_ de _TOTAL_ registros", "infoEmpty": "Mostrar 0 de 0 de 0 registros", "infoFiltered": "(Total de _MAX_ registros de entradas)", "infoPostFix": "", "thousands": ",", "lengthMenu": "Mostrar _MENU_ registros", "loadingRecords": "Carregando...", "processing": "Processando...", "search": "Buscar:", "zeroRecords": "Não há registros", "paginate": { "first": "<<", "last": ">>", "next": ">", "previous": "<" }, "loadingRecords": '&nbsp;', "processing": 'Processando...', "aria": { "sortAscending": ": Coluna ativa em ordem ascendente", "sortDescending": ": Coluna ativa em ordem descendente" }, "select": { "rows": { "_": "(Selecionado %d linhas)", "0": "(Nenhuma linha selecionada)", "1": "(Selecionado 1 linha)" }, "columns": { "_": "(Selecionado %d colunas)", "0": "(Nenhuma coluna selecionada)", "1": "(Selecionado 1 coluna)" } }, "buttons": { "copy": "Copiar para a área de transferência", "copyTitle": "Cópia bem sucedida", "copySuccess": { "1": "Uma linha copiada com sucesso", "_": "%d linhas copiadas com sucesso" } } } }); <table id="myTable" class="table table-striped table-hover display nowrap dataTable" cellspacing="0"> <thead class="thead-dark"> <th class="ze-center" data-priority="1">ID</th> <th class="ze-center" data-priority="1">Opções</th> <th class="w-50" data-priority="1">Nome</th> <th class="w-50" data-priority="1">Sobrenome</th> <th class="ze-center">E-mail</th> <th class="ze-center">Gênero</th> <th class="ze-center">Dt Nasc.</th> <th class="ze-center">Telefone</th> <th class="ze-center">Mobile</th> <th class="ze-center">Nivel</th> <th class="ze-center">Status</th> </thead> <tbody> <?php if (count($result) == 0) { ?> <td colspan="4">Não há Membros Cadastrados</td> <?php } else { foreach ($result as $array) { ?> <tr> <td><?php echo utf8_encode($array['admin_id']); ?></td> <td> </td> <td class="ze-left"> <?php echo utf8_encode($array['first_name']); ?> </td> <td><?php echo utf8_encode($array['last_name']); ?></td> <td><?php echo utf8_encode($array['email']); ?></td> <td><?php echo ($array['gender'] == 1 ? "Masculino" : "Feminino"); ?></td> <td><?php echo utf8_encode($array['birth_date']); ?></td> <td><?php echo utf8_encode($array['telephone']); ?></td> <td><?php echo utf8_encode($array['mobile']); ?></td> <td><?php echo utf8_encode($array['nivel']); ?></td> <td><?php echo utf8_encode($array['status']); ?></td> </tr> <?php } } ?> </tbody> <tfoot class="thead-dark"> <th class="ze-center">ID</th> <th class="ze-center">Opções</th> <th>Nome</th> <th>Sobrenome</th> <th class="ze-center">E-mail</th> <th class="ze-center">Gênero</th> <th class="ze-center">Dt Nasc.</th> <th class="ze-center">Telefone</th> <th class="ze-center">Mobile</th> <th class="ze-center">Nivel</th> <th class="ze-center">Status</th> </tfoot> </table>
  21. Olá! Tenho um formulário que dentro dele contem uma dropdownlist que utiliza o Bootstrap-Select (selectpicker) e quando clicado o mesmo carrega uma lista de opções provenientes do mysql. Ocorre que esta lista envia as opções marcadas para o mysql corretamente porém eu gostaria que a mesma, no que diz respeito a atualização de dados, carregasse as opções marcadas anteriormente ao ser clicada. Abaixo segue um método do selectpecker que inseri valores de um objeto em JSON e mostra as opções marcadas referente a esses valores: $('.selectpicker').selectpicker('val', [puxar valores de um objeto JSON aqui]); Baseando-se no método acima como faço para inserir valores de um objeto em JSON proveniente de um script php que envia o resultado em formato JSON para o ajax? Abaixo segue um trecho do Ajax que recebe os dados do script php e os mostra em um formulário com campos input e selectpicker. $(document).on('click', '.update', function(){ $.ajax({ url:"fetch_single.php", method:"POST", data:{user_id:user_id}, dataType:"json", success:function(data) { $('#camisas').val(data.camisas); $('.selectpicker').selectpicker('val', [valores de um objeto em JSON aqui]); $('.selectpicker').selectpicker('refresh'); } }) }); E abaixo o resultado em JSON que o AJAX recebe: {"camisa":"15","cores":"5,18,27"} No caso gostaria de que o selectpicker puxasse os valores do objeto "cores" como uma forma de marcar essas opções dentro da lista. É possível? Desde já agradeço a atenção.
  22. Saudações, alguem pode dar uma força nesse codigo abaixo por favor. Da erro na etapa em que o ajax chama a funcao mas nao consigo determinar o motivo. Mensagem do console: $.ajax is not a function HTML: <header> <script src="https://code.jquery.com/jquery-3.4.1.min.js"</script> <script type="text/javascript" src="xcomp_empresarial_clientes_cadastros.js"></script> </header> <label for="inputcomissao_venda">Procurar</label> <input type="text" name="procurar" id="procurar" class="form-control" aria-label="" aria-describedby="inputGroup-sizing-sm" onchange="filtrar_clientes()"> JS: function filtrar_clientes(){ var tipo_do_filtro = document.getElementById("filtrar_por").value; var conteudo_do_filtro = document.getElementById("procurar").value; if (conteudo_do_filtro !==''){ alert("acessou :" + tipo_do_filtro + " - " + conteudo_do_filtro); $.ajax({ // localizacao e nome do programa url:'filtrar_cadastros_clientes.php', // tipo de envio dos dados GET / POST type:'GET', // variavel enviada para a url / programa data:conteudo_do_filtro, //formato do retorno: TEXT /JSON dataType:'json', //caso positivo na url success:function(resultado){ alert("quantidade encontrada :" + resultado.total); //demonstracao do que ocorreu no console console.log(option); $('#clientes_cadastros_listagem').html(resultado.data); } }); } } PHP: PHP: <?php $id_empresa=$_SESSION['id_empresa']; $conteudo_do_filtro = $_GET['conteudo_do_filtro']; require('conexao_dbo.php'); $conteudo_do_filtro = "%".$conteudo_do_filtro."%"; $filtro_ativos = $arquivo->prepare("SELECT id, razao, email, contato, telefones, telefone_2, celular, deletado, ativo, id_empresa FROM clientes WHERE deletado=0 AND id_empresa='$id_empresa' AND razao like '$conteudo_do_filtro' ORDER BY ativo,razao"); $filtro_ativos->execute(); echo json_encode(['data'=>$filtro_ativos->fetchAll(),'total'=>$filtro_ativos->rowCount()]); ?>
  23. thalasable

    Requisição Ajax reenvia resposta inesperada

    Olá amigos, estava testando a API do PasteBin, estava na etapa de resgatar a chave do usuário, e quando faço a requisição, o XMLHttpRequest.status retorna o código 0, o que eu acho estranho... Aqui é o link da documentação da API do PasteBin: https://pastebin.com/api Bem, aqui vai meu código (com meus dados de login retirados, claro): var ajax = new XMLHttpRequest(); ajax.open("POST", "https://pastebin.com/api/api_login.php", true); ajax.setRequestHeader("encoding", "utf-8"); ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); ajax.send("api_dev_key=40e2994f5de3dcae28006cba01318634&api_user_name=MeuUsername&api_user_password=MinhaSenha"); ajax.onreadystatechange = function(){ if(ajax.readyState == 4 && ajax.status == 200){ var data = ajax.responseText; console.log(data); } else{ console.log("erro"); } } De antemão já agradeço a resposta!
  24. juliosertori

    Envio de JSON via AJAX POST

    Olá galera tudo bem? Tenho o seguinte JSON: var jsNfe = { "venda": { "identificacao": 1, "comentario": "" }, "documento": { "numero_nf": 663, "natureza_operacao": "Venda de produto de estabelcimento", "cfop": "6101", "numero_serie": 1, "ambiente": 2, "info_complementar": "", "consumidor_final": 1, "operacao_interestadual": 1, "CSC": "GPB0JBWLUR6HWFTVEAS6RJ69GPCROFPBBB8G", "CSCid": "000002" }, "emitente": { "codigo_uf": 31, "razao_social": "empresa", "nome_fantasia": "empresa", "ie": "5464324354", "cnpj": "25447541000155", "crt": 1, "csosn": "101", "logradouro": "ENDERECO", "numero": 444, "complemento": "", "bairro": "CENTRO", "nome_municipio": "Serrania", "cod_municipio_ibge": "3166907", "uf": "MG", "cep": "37143000", "nome_pais": "Brasil", "cod_pais": "1058" }, "destinatario": { "nome": "DESTINAT", "tipo": "j", "cpf_cnpj": "544114552000155", "ie_rg": "54545454", "contribuinte": 1, "logradouro": "ENDERECO, "numero": 665, "complemento": "", "bairro": "centro", "nome_municipio": "cidade", "cod_municipio_ibge": "4112009", "uf": "PR", "cep": "546545645", "nome_pais": "Brasil", "cod_pais": 1058 }, "itens": [ { "cod_barras": "SEM GTIN", "codigo_produto": 1, "nome_produto": "Coca-cola lata 350 ml", "ncm": "44071100", "unidade": "UN", "quantidade": 1.00, "valor_unitario": 3.5, "compoe_valor_total": 1 } ], "frete": { "modelo": 0, "valor": 1.2, "quantidade_volumes": 1.0, "numero_volumes": 1.0, "especie": "TON", "placa": "AZE1757", "uf_placa": "PR", "peso_liquido": 10.0, "peso_bruto": 12.0 }, "responsavel_tecnico": { "cnpj": "454545454444", "contato": "CONT", "email": "EMAIL", "telefone": "TEL" }, "pagamento": { "tipo": "14", "indicacao_pagamento": 0 }, "fatura": { "desconto": 0.00, "total_nf": 3.5 }, "duplicatas": [ { "data_vencimento": "2020-04-21", "valor": 3.5 } ], "tributacao": { "icms": 0.00, "pis": 0.00, "cofins": 0.00, "ipi": 0.00 } }; Já testei diretamente no POSTMAN, ele funciona perfeitamente no sistema, mas não consigo de forma alguma enviar via AJAX POST Vlww
  25. Sergio Murilo Cabral

    Problema com Requisição Ajax e Atualização de dados (Update).

    Olá, meu problema é o seguinte... criei um perfil de usuários onde permito que o dono da conta possa fazer as alterações que desejar, e fiz todo código com o UPDATE dos dados funcionando, abrindo a o arquivo update_usuario.php em uma nova pagina. Porém quando criei uma Requisição AJAX, para fazer com que ele abra dentro da DIV class conteudo, ele não funciona, ou seja não efetua o UPDATE dos dados alterados. Se alguém puder dar uma força, me mostrando o porque, ficarei muito agradecido!!! Segue abaixo os códigos dos aquivos usados: Aquivo perfil_usuario.php - Onde o Usuário visualiza seu dados e solicita a edição dos mesmos ou o exclui. <?php include "../init.php"; include "../config.php"; include "../check.php"; ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Liga RE$ENHÃO 2020</title> </head> <body> <div> <h1>Editando Usuários</h1> <table> <tr> <td align="center" width="350">Nome</td> <td align="center" width="350">Email</td> <td align="center" width="150">Senha</td> <td align="center" width="250">Nº do WhatsApp</td> <td align="center" width="250">Sua Foto</td> <td align="center" width="250">Time no Cartola</td> <td align="center" width="350">Ações</td> </tr> <?php $id = $_GET['id']; $sql = $db->query("SELECT * FROM cadastro WHERE id = '$id'"); foreach ($sql as $res) { echo "<tr>"; echo "<td align='center'>".$res['name']."</td>"; echo "<td align='center'>".$res['email']."</td>"; echo "<td align='center'>".$res['password']."</td>"; echo "<td align='center'>".$res['celular']."</td>"; echo "<td align='center'><img style='height:50%; width:auto; max-width:150px;' src='upload/".$res['foto']."'/></td>"; echo "<td align='center'><img style='height:; width:auto; max-width:150px;' src='upload/".$res['t_cartola']."'/></td>"; echo '<td align="center"> <a id="nav" href="update_usuario.php?id='.$res['id'].'"> <img src="img/edite.png" title=" Editar Usuário "></a> <span><img width="30px" src="img/mito_vazio.png"></span> <a id="nav" href="excluir.php?id='.$res['id'].'"> <img src="img/delete.png" title=" Excluir Usuário "></a> </td>'; echo "</tr>"; } ?> </table> </div> </body> </html> <script type="text/javascript" src="js/jquery-1.8.3.min.js"></script> <script src="js/ajax.js"></script> Aquivo ajax.js - Requisição AJAX. $(function(){ $("#carregando").hide(); $("a#nav").click(function(){ pagina = "arquivos/"+$(this).attr("href") $("#carregando").ajaxStart(function(){ $(this).show(); }) $("#carregando").ajaxStop(function(){ $(this).hide(); }) $(".conteudo").load(pagina) return false; }) }) Aquivo update_usuario.php - Onde o Usuário poderá alterar os seus dados UPDATE. <?php require "../init.php"; include "../config.php"; ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Liga RE$ENHÃO 2020</title> </head> <body> <div> <?php $id = $_GET['id']; $sql = $db->query("SELECT * FROM cadastro WHERE id = '$id'"); $sql->execute(); foreach($sql->fetchAll() as $res); if(isset($_POST['atualizar'])){ $name=addslashes(trim($_POST['name'])); $ur=addslashes(trim($_POST['ur'])); $email=addslashes(trim($_POST['email'])); $password=addslashes(trim($_POST['password'])); $celular=addslashes(trim($_POST['celular'])); $update = $db->prepare("UPDATE cadastro SET name=:name, ur=:ur, email=:email, password=:password, celular=:celular WHERE id = '$id'"); $update->bindValue(':name', $name); $update->bindValue(':ur', $ur); $update->bindValue(':email', $email); $update->bindValue(':password', $password); $update->bindValue(':celular', $celular); $update->execute(); if($update == ''){ echo "<script language='javascript'> window.alert('Erro ao alterar dados!'); </script>"; }else{ echo "<meta http-equiv='refresh' content='0; URL= ../index.php'> <script language='javascript'> window.alert('Dados atualizados com sucesso!'); </script>"; }} ?> <!-- ////// Formlário dados pessoais do Usuário \\\\\\ --> <div style="background-color:#fff;height:auto;width:33%;color:#000;float:left;"> <form action="" method="post" enctype="multipart/form-data"> <label for="name"><span>Nome: </span></label> <input type="text" name="name" value="<?php echo $res['name']; ?>"> <br /> <label for="ur"><span>Estado: </span></label> <input type="text" name="ur" value="<?php echo $res['ur']; ?>"> <br /> <label for="celular"> <span>E-mail: </span> <?php echo $res['email']; ?> </label> <input hidden="" type="text" name="email" value="<?php echo $res['email']; ?>"> <input hidden="" type="text" name="password" value="<?php echo $res['password']; ?>"> <br /> <label for="celular"><span>Celular: </span></label> <input type="text" name="celular" value="<?php echo $res['celular']; ?>"> <br /> <input type="submit" name="atualizar" value="Atualizar"> </form> </div> <?php # UPDATE da Foto if(isset($_POST['enviar'])){ $id = $_GET['id']; $foto = $_FILES['foto']; $sqlUpdate = "UPDATE cadastro SET foto = ? WHERE id = ?"; $dados = array($foto, $id); $pasta = '../upload/'; if (isset($_POST['enviar'])){ $check = @$_POST['apagar']; foreach($check as $foto){ $delcheck = $sqlUpdate = ("UPDATE cadastro SET foto = ? WHERE id = ?"); unlink($pasta.'/'.$foto); if ($delcheck >= '1'){ echo 'Imagem deletada com sucesso!'; }else{ echo 'Erro ao deletar imagem, tente novamente!'; }}}} ?> <?php include "Upload.class.php"; if ((isset($_POST["enviar"])) && (! empty($_FILES['foto']))){ $upload = new Upload($_FILES['foto'], 1000, 800, "../upload/"); echo $upload->salvar(); } ?> <div> <form action="" method="POST" enctype="multipart/form-data"> <?php $id = $_GET['id']; $sql = $db->prepare("SELECT * FROM cadastro WHERE id='$id'"); $sql->execute(); foreach($sql->fetchAll() as $res){ ?> <input size="1" type="hidden" name="id" value="<?php echo $res['id'];?>" readonly> <input type="hidden" type="checkbox" name="apagar[]" value="<?php echo $res['foto'];?>" checked readonly> <?php } ?> <img src="../upload/<?php echo $res['foto'];?>"/><br /> <label>Selecione uma nova imagem:</label><br /> <input type="file" name="foto" accept="image/*" ><br /> <input type="submit" name="enviar" value="Atualizar"> </form> </div> </div> </body> </html> E por fim o Arquivo Upload.class.php - Faz o Upload da imagem. <?php class Upload{ private $arquivo; private $altura; private $largura; private $pasta; function __construct($arquivo, $altura, $largura, $pasta){ $this->arquivo = $arquivo; $this->altura = $altura; $this->largura = $largura; $this->pasta = $pasta; } private function getExtensao(){ //retorna a extensao da imagem return $extensao = strtolower(end(explode('.', $this->arquivo['name']))); } private function ehImagem($extensao){ $extensoes = array('gif', 'jpeg', 'jpg', 'png'); // extensoes permitidas if (in_array($extensao, $extensoes)) return true; } //largura, altura, tipo, localizacao da imagem original private function redimensionar($imgLarg, $imgAlt, $tipo, $img_localizacao){ //descobrir novo tamanho sem perder a proporcao if ( $imgLarg > $imgAlt ){ $novaLarg = $this->largura; $novaAlt = round( ($novaLarg / $imgLarg) * $imgAlt ); } elseif ( $imgAlt > $imgLarg ){ $novaAlt = $this->altura; $novaLarg = round( ($novaAlt / $imgAlt) * $imgLarg ); } else // altura == largura $novaAltura = $novaLargura = max($this->largura, $this->altura); //redimencionar a imagem //cria uma nova imagem com o novo tamanho $novaimagem = imagecreatetruecolor($novaLarg, $novaAlt); switch ($tipo){ case 1: // gif $origem = imagecreatefromgif($img_localizacao); imagecopyresampled($novaimagem, $origem, 0, 0, 0, 0, $novaLarg, $novaAlt, $imgLarg, $imgAlt); imagegif($novaimagem, $img_localizacao); break; case 2: // jpg $origem = imagecreatefromjpeg($img_localizacao); imagecopyresampled($novaimagem, $origem, 0, 0, 0, 0, $novaLarg, $novaAlt, $imgLarg, $imgAlt); imagejpeg($novaimagem, $img_localizacao); break; case 3: // png $origem = imagecreatefrompng($img_localizacao); imagecopyresampled($novaimagem, $origem, 0, 0, 0, 0, $novaLarg, $novaAlt, $imgLarg, $imgAlt); imagepng($novaimagem, $img_localizacao); break; } //destroi as imagens criadas imagedestroy($novaimagem); imagedestroy($origem); } public function salvar(){ $extensao = $this->getExtensao(); //gera um nome unico para a imagem em funcao do tempo $novo_nome = time() . '.' . $extensao; //localizacao do arquivo $destino = $this->pasta . $novo_nome; //move o arquivo if (! move_uploaded_file($this->arquivo['tmp_name'], $destino)){ if ($this->arquivo['error'] == 1) return "Tamanho excede o permitido"; else return "Erro " . $this->arquivo['error']; } if ($this->ehImagem($extensao)){ //pega a largura, altura, tipo e atributo da imagem list($largura, $altura, $tipo, $atributo) = getimagesize($destino); // testa se é preciso redimensionar a imagem if(($largura > $this->largura) || ($altura > $this->altura)) $this->redimensionar($largura, $altura, $tipo, $destino); } include '../config.php'; $id = $_GET['id']; $foto = $_FILES['foto']; $update = $db->prepare("UPDATE cadastro SET foto = '$novo_nome' WHERE id = '$id'"); //Preparo a string de conexão $update->bindParam('id', $id, PDO::PARAM_STR); $update->bindParam('foto', $novo_nome, PDO::PARAM_STR); // Faço o bind dos parametros if(!$update->execute()){ //Executo a query echo "<script language='javascript'> window.alert('Erro ao atualizar Imagem!!!'); </script>"; }else{ echo "<meta http-equiv='refresh' content='0; URL= ../index.php'> <script language='javascript'> window.alert('Imagem atualizada com sucesso!'); </script>"; } }} ?>
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.