Pesquisar na Comunidade
Mostrando resultados para as tags ''ajax''.
Encontrado 58 registros
-
Pegar o nome do input text do formulário submetido
luiz monteiro postou um tópico no fórum Javascript
Olá. Tenho 3 formulários em uma mesma pagina, onde cada um tem 1 input type text. O que preciso é recuperar o nome desses inputs e o valor correspondente ao formulário submetido. ============= form name="formulario1" id="formulario1" input type="text" name="nome1" value="valor1" /form form name="formulario2" id="formulario2" input type="text" name="nome2" value="valor2" /form form name="formulario3" id="formulario3" input type="text" name="nome3" value="valor3" /form ============= .......... var formulario_submetido = document.getElementById("formulario1"); formulario_submetido.addEventListener('submit', function(e) { e.preventDefault(); //tentei console.log(document.querySelectorAll('#'+this.id + ' input').name); //tentei var formula = new FormData(formulario_submetido); console.log(formula.input['type=text'].name); //tentei console.log(formula.get(input['type=text']).name); .......... no console.log(e), ele está nessa hierarquia form -> srcElement -> input -> attributes -> name Como recupero o valor do name dele e o valor do value? Agradeço desde já. -
Boa noite pessoal, tudo bem? Estou desenvolvendo um sistema simples com exibição de formulário via modal. Uma vez cadastrado o serviço (tabela possui apenas dois campos, id e nome), eles são exibidos numa tabela com um ícone que permite a alteração do nome. Eu clico no ícone e é chamado um modal que é gerado via ajax (pois são vários registros). Nesse modal é mostrado o serviço e uma vez alterado, o botão Salvar chama uma função que atualiza a tabela servico, concluindo a tarefa. Fiz o mesmo processo pra cadastrar o serviço, com a diferença de que o modal está presente na mesma página, ou seja, não é chamado via ajax. Eis os códigos: <a href="#" onclick="modalUpdate(<?= trim($array['id']) ?>)"> <i class='bx bx-edit'></i> </a> // Trecho onde eu chamo a função modalUpdate. Função btAltServico click: $('#btAltServico').click(function() { var inpnome = $('#nome'); var inpid = $('#id'); if (inpnome.val() == '') { swal("Atenção", "Por favor, preencha os campos obrigatórios", "warning"); if (inpnome.val() == '') { inpnome.css("border","2px solid #f94545"); } else { inpnome.css("border",""); } alert(inpnome); alert(inpid); } else { $.ajax({ url: '../inc/ajax/altServico.php', type: 'post', dataType: 'json', // pode ser html data: { nome : inpnome.val(), id : inpid.val() }, success: function(resposta){ if (resposta == 1) { inpnome.val(""); inpnome.css("border",""); swal("Sucesso", "Serviço alterado", "success"); } else { if (resposta == 0) { swal("Erro", "Serviço não alterado. Log de erro gerado.", "error"); } else { swal("Atenção", "Serviço já cadastrado", "warning"); } } } }) } }); E modalUpdate.php : <?php /* * altServico.php * * Script responsável pelo update de serviços na tabela servico * * Função chamada pelo arquivo ajax.js */ //if ($_POST) { require'../conn.php'; require'../../class/class.geral.php'; $geral = new Geral(); $nome = $_POST['nome']; $id = $_POST['nome']; $ativo = 1; // Verifica se o servico já foi cadastrado $sqlVer = "select nome from algo68_db_cliente.servico where nome = '".$nome."' and id <> ".$id.""; $queryVer = mysqli_query($conn, $sqlVer); $resultVer = mysqli_num_rows($queryVer); if ($resultVer > 0) { echo json_encode(2); // servico já cadastrado } else { // Update do servico $sql = "update algo68_db_cliente.servico set nome = '".$nome."', ativo = ".$ativo." where id = ".$id; $query = mysqli_query($conn, $sql); $result = mysqli_affected_rows($conn); if ($result > 0) { echo json_encode(1); // alterou o servico } else { $geral->logErro(date('d/m/Y|H:i:s'), @$_SERVER[REQUEST_URI], 'AlterarServico', mysqli_error($conn)); echo json_encode(0); // não alterou o servico } } //} ?> O problema é que quando clico no botão Salvar, não acontece nada - se eu colocar um alert qualquer na função click, só pra saber se está chegando, também não da nada. E está da mesma forma que o cadastro de serviço, que funciona perfeitamente. Bom, é isso pessoal, tentei ser o mais breve e especifico possível. Qualquer ajuda é bem vinda, obrigado a todos, desde já.
-
Pegar class e id gerado dinamicamente em requisição ajax (javascript) e php
Danilo - Jesus voltará! postou um tópico no fórum Javascript
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- 2 respostas
-
- ajax
- javascript
-
(e mais 2 )
Tags:
-
<input type="text" class="form-control" id="produto" name="produto" onblur="BuscaPr()"> Ola. eu chamo a função JS a seguir no onblur do input acima. cikiqyeu is alerts para confirmar a chamada da função. ta chamando. mas alem dos alerts nao acontece mais nada. segue a função JS e o arquivo php que é chamado no ajax: FUNSAO JS function BuscaPr(){ var buscaTexto = document.getElementById('produto').value alert(buscaTexto) alert(buscaTexto.length) $.ajax({ method: 'post', url: 'sistema/produto/buscapr.php', data: {busca: 'sim', texto: buscaTexto}, dataType: 'json', success: function(retorno){ if(retorno.qtd == 0){ alert('q = 0') $('#resbuscapro').html('<p>Não encontramos resultados para sua busca</p>'); }else{ alert('q + 0') $('#resbuscapro').html(retorno.dados); } } }); } O ARQUIVO PHP: <?php if (!session_id()): session_start(); endif; require_once('_app/Config.inc.php'); require_once('./Lib.php'); if (isset($_POST['busca']) && $_POST['busca'] == 'sim'): $textoBusca = strip_tags($_POST['texto']); $retorno = array(); $Par = "EM={$_SESSION['userlogin']['emCODIGO']}"; $Fil = " where emCODIGO = :EM and prDESCRICAO like '%{$textoBusca}%' "; $Produto = new Read; $Produto->FullRead("select * from produto {$Fil}", $Par); if ($Produto->getResult()): $retorno['qtd'] = $Produto->getRowCount(); foreach ($Produto->getResult() as $pro): extract($pro); $retorno['dados'] .= '<a href="#" id='.$prCODIGO.':'.$prVENDA.'">'. utf8_encode($prDESCRICAO).'</a>'; endforeach; endif; echo json_encode($retorno); endif; ?>
- 1 resposta
-
- php
- javascript
-
(e mais 1 )
Tags:
-
[Resolvido] Ajuda! Meu campo está exibindo o valor selecionado corretamente mas gravando como 0(zero) no banco de dados.
Flaviaac postou um tópico no fórum PHP
Boa tarde pessoal, Sou iniciante em Desenvolvimento Web e não estou conseguindo resolver um problema no meu código, se alguém puder me ajudar agradeço imensamente. Vamos lá! Na tela de cadastro eu tenho um campo tipo select, onde escolho o tipo de documento, e no campo de baixo eu tenho um tipo text que mostrará a quantidade de anos para descarte deste documento. Então quando o usuário selecionar um dos documentos no campo de cima automaticamente deve aparecer o valor do tempo de descarte no campo de baixo, e ai sim o usuário poderá cadastrar o documento em si. Obs.: estou ignorando o restante dos campos de cadastro pois não são relevantes para este problema. Este evento está funcionando perfeitamente, o problema é que quando clico no botão "cadastrar" o campo de "periodicidade de descarte" não está salvando no bando de dados com o valor exibido, mas sim como zero. No arquivo processa_cadastro.php quando dou um var_dump em $periodo_doc ele imprime: int(0) Não consegui identificar onde estou errando. Por favor, poderiam me dar uma luz. Obrigada! Segue os códigos para entendimento. tipo_arquivo.sql: -- phpMyAdmin SQL Dump -- version 5.2.0 -- https://www.phpmyadmin.net/ -- -- Host: localhost -- Tempo de geração: 12-Jul-2022 às 14:46 -- Versão do servidor: 10.4.24-MariaDB -- versão do PHP: 7.4.29 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; START TRANSACTION; SET time_zone = "+00:00"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8mb4 */; -- -- Banco de dados: `sistemadescarte` -- -- -------------------------------------------------------- -- -- Estrutura da tabela `tipo_arquivo` -- CREATE TABLE `tipo_arquivo` ( `id_tipo` int(11) NOT NULL, `nome_tipo` varchar(255) NOT NULL, `descarte` int(11) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -- Extraindo dados da tabela `tipo_arquivo` -- INSERT INTO `tipo_arquivo` (`id_tipo`, `nome_tipo`, `descarte`) VALUES (1, 'Ata Extraordinária', 5), (2, 'Ata Ordinária', 5), (3, 'carta', 8), (4, 'Memorando', 10), (5, 'Memorando Circular', 8), (6, 'Ofício', 5), (7, 'Ofício Circular', 5), (8, 'Processo', 10); -- -- Índices para tabelas despejadas -- -- -- Índices para tabela `tipo_arquivo` -- ALTER TABLE `tipo_arquivo` ADD PRIMARY KEY (`id_tipo`), ADD KEY `id_tipo` (`id_tipo`); -- -- AUTO_INCREMENT de tabelas despejadas -- -- -- AUTO_INCREMENT de tabela `tipo_arquivo` -- ALTER TABLE `tipo_arquivo` MODIFY `id_tipo` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=21; COMMIT; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; documento.sql: -- phpMyAdmin SQL Dump -- version 5.2.0 -- https://www.phpmyadmin.net/ -- -- Host: localhost -- Tempo de geração: 12-Jul-2022 às 14:47 -- Versão do servidor: 10.4.24-MariaDB -- versão do PHP: 7.4.29 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; START TRANSACTION; SET time_zone = "+00:00"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8mb4 */; -- -- Banco de dados: `sistemadescarte` -- -- -------------------------------------------------------- -- -- Estrutura da tabela `documento` -- CREATE TABLE `documento` ( `ID_DOC` int(11) NOT NULL, `NUMERO_DOC` varchar(20) NOT NULL, `TIPO_DOC` int(11) NOT NULL, `INTERESSADO` varchar(255) NOT NULL, `TITULO` varchar(400) NOT NULL, `OBS` varchar(400) DEFAULT NULL, `PERIODICIDADE` int(11) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -- Extraindo dados da tabela `documento` -- INSERT INTO `documento` (`ID_DOC`, `NUMERO_DOC`, `TIPO_DOC`, `INTERESSADO`, `TITULO`, `OBS`, `PERIODICIDADE`) VALUES (2, '788741-2019/65', 1, 'admin', 'Ata extraordinária de 2018', 0), (3, '888888-2021/21', 3, 'gerencia', 'Carta a gerencia', 0), (4, '333653-2022/1', 8, 'teste', 'Processo', 'teste na observação', 0), (6, '224568-2022/3', 2, 'teste', 'Ata Ordinária', 0); -- -- Índices para tabelas despejadas -- -- -- Índices para tabela `documento` -- ALTER TABLE `documento` ADD PRIMARY KEY (`ID_DOC`), ADD KEY `TIPO_DOC` (`TIPO_DOC`); -- -- AUTO_INCREMENT de tabelas despejadas -- -- -- AUTO_INCREMENT de tabela `documento` -- ALTER TABLE `documento` MODIFY `ID_DOC` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2295; -- -- Restrições para despejos de tabelas -- -- -- Limitadores para a tabela `documento` -- ALTER TABLE `documento` ADD CONSTRAINT `documento_ibfk_1` FOREIGN KEY (`TIPO_DOC`) REFERENCES `tipo_arquivo` (`id_tipo`); COMMIT; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; cadastro.php: <!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"> <script type="text/javascript" src="js/descarte.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> <title>Cadastro de Documento</title> </head> <form action="" method="post"> <div class="form-row"> <!-- tipo de documento --> <div class="form-group col-md-1"> <label>Tipo de Documento</label> <select name="tipo" id="tipo" class="form-control" onchange="funcaoDescarte()"> <option selected>Selecione...</option> <!--------------- P H P ----------------> <?php while($row = $result->fetch_assoc()) { echo "<option value=".$row['id_tipo'].">".$row['nome_tipo']."</option>"; } ?> <!--------------- F I M P H P ---------> </select> </div> </div> <div class="form-row"> <!-- tempo para descarte --> <div class="form-group col-md-2"> <span class="form-text">Periodicidade para descarte deste documento:</span> <input name="descarte" type="text" class="form-control" id="descarte" value="" disabled=""> <input type="text" readonly class="form-control-plaintext" value="Anos"> </div> </div> <!------------------- botão cadastrar e limpar ----------------------------------------------> </br> <div class="form-row"> <!-- Cadastrar e Limpar --> <div class="form-group col-md-4"> <button type="submit" name="cadastrar_doc" class="btn btn-primary">Cadastrar</button> <button type="reset" name="limpar_doc" class="btn btn-primary">Limpar campos</button> </div> </div> </form descarte.js: function funcaoDescarte(){ var x = document.getElementById("tipo").value; y = $.ajax({ url:"periodicidade.php", method:"POST", data:{ id : x }, success:function(data){ $("#descarte").val(data); } }) } periodicidade.php: <?php include_once "conexao.php"; $k = $_POST['id']; $k = trim($k); $sql = "SELECT * FROM tipo_doc WHERE id_tipo ='{$k}'"; $result = $conn->query($sql); while($row = $result->fetch_assoc()){ echo $row['descarte']; } ?> processa_cadastro.php: <?php $tipo_doc = intval(filter_input(INPUT_POST, 'tipo', FILTER_SANITIZE_NUMBER_INT)); $periodo_doc = intval(filter_input(INPUT_POST, 'descarte', FILTER_SANITIZE_NUMBER_INT)); if(isset($_POST['cadastrar_doc'])) { if($tipo_doc !='' || $periodo_doc !='') { $stmt = $conn->prepare("INSERT INTO documento (tipo_doc, periodicidade) VALUES (?, ?)"); $stmt->bind_param("ii", $tipo_doc, $periodo_doc); $stmt->execute(); echo "<span class='alert alert-success'> Cadastrado com sucesso</span>"; $erro = mysqli_error($conn); echo "Ocorreu o seguinte erro: ", '"', $erro, '"<br>'; }else{ echo "<span class='alert alert-danger'> Não cadastrado</span>"; $erro = mysqli_error($conn); echo "Ocorreu o seguinte erro: ", '"', $erro, '"<br>'; } } $stmt->close(); $conn->close(); ?> -
Erro retornado no console do navegador: 400 bad request Rastreei o erro ate essa parte no arquivo admin-ajax.php mudando o valor de resposta de 0 para 1: if ( is_user_logged_in() ) { // If no action is registered, return a Bad Request response. if ( ! has_action( "wp_ajax_{$action}" ) ) { wp_die( '0', 400 ); } Tentei de tudo, mas infelizmente nao entendi oq realmente significa esse login e como ele funciona. Vi algumas pessoas tendo problema com o host, no meu caso estou usando hostinger. (Nao creio que isso e relevante mas ta ai.) Código utilizado: Javascript function formValidation() { event.preventDefault(); var name = document.forms["contactForm"]["name"].value; var email = document.forms["contactForm"]["email"].value; var subject = document.forms["contactForm"]["subject"].value; var message = document.forms["contactForm"]["message"].value; document.getElementById('status').innerHTML = ''; var errorMessage="<span class='error'>All fields are required.</span>"; var regEx = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/; if (name.trim() == "" ||email.trim() == "" || subject.trim() == "" || message.trim() == "") { document.getElementById('status').innerHTML = errorMessage; return false; } if (!regEx.test(email)) { var errorMessage="<span class='error'>Invalid email.</span>"; document.getElementById('status').innerHTML = errorMessage; return false; } processContactSubmit(); return true; } function processContactSubmit() { var request = new XMLHttpRequest(); request.open("POST", "/wp-admin/admin-ajax.php?action=process_contact_form"); request.onreadystatechange = function() { if(this.readyState === 4 && this.status === 200) { document.getElementById("status").innerHTML = this.responseText; } }; var myForm = document.getElementById("contactForm"); var formData = new FormData(contactForm); request.send(formData); } functions.php add_action('wp_ajax_nopriv_process_contact_form', 'process_contact_form'); add_action('wp_ajax_process_contact_form', 'process_contact_form'); //Retirar essa parte para error no console, no contrario ira aparecer no navegador o numero 0. function process_contact_form() { $to = "Recipient Email Address"; $subject = $_POST["subject"]; $headers = "Testing"; $message = $_POST["message"]; $attachments = ""; $sent = wp_mail($to, $subject, $message, $headers, $attachments); if (! $sent) { echo "<span class='error'>Problem in sending mail.</span>"; } else { echo "<span class='success'>Hi, thank you for the message.</span>"; } wp_die(); } Html <form name="contactForm" id="contactForm" method="post" onsubmit="return formValidation()" action=""> <p class="comment-form-comment"><textarea id="message" name="message" required="" placeholder="" aria-required="true"></textarea></p> <p class="comment-form-author"><label for="author">Nome: </label> <input id="name" name="name" required="" size="30" type="text" value=" " /></p> <p class="comment-form-author about"><label for="author">Assunto: </label> <input id="subject" name="subject" required="" size="40" type="text" value=" " /></p> <p class="comment-form-email"><label for="email">Email: </label> <input id="email" name="email" required="" size="30" type="text" value="" /></p> <p class="form-submit"><input id="submit" class="submit" name="email_contato" type="submit" value="Enviar" /></p> </form> <h3><div id="status"></div></h3>
-
Ola pessoal estou com uma dificuldade ou melhor com erro ao fazer a leitura do arquivo por ajax Pelo meus calculos esta certo a forma que fiz, porem nao me mostra o resultado Espero que possam dar uma ideia do que seria e de como resolver este é o erro que retorna <br /> <b>Notice</b>: Undefined index: length in <b>C:\Host\htdocs\CMS-DELIVERY\CPANELUSER\ajax-list.php</b> on line <b>31</b><br /> <br /> <b>Notice</b>: Undefined index: start in <b>C:\Host\htdocs\CMS-DELIVERY\CPANELUSER\ajax-list.php</b> on line <b>32</b><br /> <br /> <b>Notice</b>: Undefined index: length in <b>C:\Host\htdocs\CMS-DELIVERY\CPANELUSER\ajax-list.php</b> on line <b>32</b><br /> You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 1 No arquivo php esta assim <?php session_start(); header('Content-Type: application/json'); require('./database/config.php'); require('./database/config.database.php'); require_once('./includes/funcoes.php'); //require('ssp.class.php'); $Campos = "'DL.id, DL.titulo, DL.telefone, DC.titulo as CityTitulo'"; $column = array("DL.id", "DL.titulo", "DC.titulo", "DL.destaque"); $queryIJ = 'directory_listing DL inner join directory_cidades DC on(DL.cidade = DC.titulo)'; $query = "WHERE DC.status=1 AND DL.status=1 "; if (isset($_POST["is_category"])) { $query = "DL.cidade = '" . $_POST["is_category"] . "' AND "; } if (isset($_POST["search"]["value"])) { $query = '(DL.id LIKE "%' . $_POST["search"]["value"] . '%" OR DL.titulo LIKE "%' . $_POST["search"]["value"] . '%" OR DL.telefone LIKE "%' . $_POST["search"]["value"] . '%") '; } if (isset($_POST["order"])) { $query = 'ORDER BY ' . $column[$_POST['order']['0']['column']] . ' ' . $_POST['order']['0']['dir'] . ' '; } else { $query = 'ORDER BY DL.id DESC '; } $query1 = ''; if ($_POST["length"] != 1) { $query1 = 'LIMIT ' . $_POST["start"]. ', ' . $_POST["length"]; } define('QUERYIJ', $queryIJ); define('CAMPOS', $Campos); define('QUERY', $query); define('QUERY1', $query1); $number_filter_row = DBCount(QUERYIJ,CAMPOS,QUERY); function ListarDirectoryEmpresaCidade($Q1 = QUERYIJ, $Camp = CAMPOS, $Query2 = QUERY, $Query3 = QUERY1) { $QueryInnerJoin = DBRead($Q1,$Camp, $Query2 .$Query3); return groupByEmpresaByCidade($QueryInnerJoin,'CityTitulo'); } function groupByEmpresaByCidade($array, $key) { $return = array(); foreach($array as $val) { $return[$val[$key]][] = $val; } return $return; } $data = array(); $ListarDirectoryEmpresa = ListarDirectoryEmpresaCidade(); foreach ($ListarDirectoryEmpresa as $ListarCidade) { //$ListarCidade[0]['CityTitulo'] foreach ($ListarCidade as $ListarDirectory) { //$ListarDirectory['titulo'] $sub_array = array(); $sub_array[] = $ListarDirectory["id"]; $sub_array[] = $ListarDirectory["titulo"]; $sub_array[] = $ListarCidade[0]['CityTitulo']; $sub_array[] = $ListarDirectory["telefone"]; $data[] = $sub_array; } } $result = DBCount('directory_listing','*'); $output = array( "draw" => intval($_POST["draw"]), "recordsTotal" => $result, "recordsFiltered" => $number_filter_row, "data" => $data ); echo json_encode($output); ?> Ja no html esta assim <div class="table-responsive"> <table id="list_data" class="table table-bordered table-striped"> <thead> <tr> <th>Id.</th> <th>Titulo</th> <th> <select name="directory_cidades" id="directory_cidades" class="form-control"> <option value="">Buscar Cidade</option> <?php $Query = DBRead('directory_cidades','*',"ORDER BY titulo ASC"); foreach($Query as $rows) { echo '<option value="' . $rows["titulo"] . '">' . $rows["titulo"] . '</option>'; } ?> </select> </th> <th>Telefone</th> </tr> </thead> </table> </div> No javascript esta assim <script type="text/javascript" language="javascript"> $(document).ready(function() { load_data(); function load_data(is_category) { var dataTable = $('#list_data').DataTable({ "processing": true, "serverSide": true, "order": [], "ajax": { url: "ajax-list.php", type: "POST", data: { is_category: is_category } }, "columnDefs": [{ "targets": [2], "orderable": false, }, ], }); } $(document).on('change', '#directory_cidades', function() { var directory_cidades = $(this).val(); $('#list_data').DataTable().destroy(); if (directory_cidades != '') { load_data(directory_cidades); } else { load_data(); } }); }); </script> Sei que o problema não esta no html e nem no javacript postei eles para melhor entender
-
Recuperar as definições do navegador para downloads
FabianoSouza postou um tópico no fórum Javascript
Após horas de tormento descobri que as configurações definidas no navegador (Firefox) para download de arquivo, estavam gerando comportamento indesejado na hora de baixar arquivos. Vejam na imagem anexa, é possível definir como o navegador vai manipular a solicitação de download, podendo abrir a opção "Salvar como", abrir diretamente o arquivo, baixar diretamente e etc. Eu gostaria de saber se é possível, via Javascript, tratar essas situações, recuperando as definições do navegador para que eu possa criar a programação necessária para cada situação. Grato. -
Preencher formulário após inserir dado no Input com PHP+AJAX
rodrigomouran postou um tópico no fórum PHP
Galera, sou novo por aqui e em códigos PHP e Web, mas, tenho me virado. Porém esbarrei em um problema. Estou usando um banco PostgreSQL para desenvolvimento de uma aplicação simples para minha empresa onde eu quero digitar um código numérico no campo do formulário e ele me retornar 2 outros campos deste formulário preenchidos baseado no código pesquisado no banco. Tenho a minha página index.html com o conteúdo: <html> <head> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("input[name='usucod']").blur(function(){ var $usunom = $("input[name='usunom']"); var $pricod = $("input[name='pricod']"); $usunom.val('Carregando...'); $pricod.val('Carregando...'); $.getJSON( 'function.php', { usucod: $( this ).val() }, function( json ) { $usunom.val( json.usunom ); $pricod.val( json.pricod ); } ); }); }); </script> </head> <body> <form action="" method="post"> <label>Código: <input type="text" name="usucod" /></label> <label>Nome: <input name="usunom" type="text" disabled="disabled" value="" /></label> <label>Pricod: <input type="text" name="pricod" value="" /></label> </form> </body> </html> e minha página function.php com o conteúdo: <?php /** * função que devolve em formato JSON os dados do cliente */ function retorna( $usucod, $db ) { $sql = "SELECT usucod, usunom, pricod FROM usuario WHERE usucod = {$usucod} "; $query = $db->query( $sql ); $arr = Array(); if( $query->num_rows ) { while( $dados = $query->fetch_object() ) { $arr['usunom'] = $dados->usunom; $arr['pricod'] = $dados->pricod; } } else $arr['usunom'] = 'não encontrado'; return json_encode( $arr ); } /* só se for enviado o parâmetro, que devolve os dados */ if( isset($_GET['usucod']) ) { $db = pg_connect("host=XXX.XXX.XXX.XXX port=5432 dbname=banco user=usuario password=senha"); echo retorna( filter ( $_GET['usucod'] ), $db ); } function filter( $var ){ return $var; } Ao digitar o código, meus campos a serem preenchidos ficam somente com o valor 'carregando...' visível. Agradeço a ajuda!-
- input
- formulário
-
(e mais 2 )
Tags:
-
Boa tarde pessoal, sou novo aqui e não sei se o conteúdo que estou postando está no lugar correto. Estou com uma dúvida no ajax de uma requisição onde o retorno do banco popula o meu select, mas o problema é que meu select devido possuir muitos dados ( em torno de 3000 options) quando retorna o navegador da uma leve travada mas no navegado do celular(com android 9) e trava ao ponto de ter que fechar aplicação. Acredito que teria que fazer um option que carregue por demanda algo assim, mas não sei se o meu pensamento está correto, e se estiver não sei como fazer... se alguém conseguir me ajudar agradeço. segue abaixo códigos: onde é populado o select <div class="col-md-2"> <select class="btao1" id="resultados"></select> <input id="btao1" type="submit" value="Conferir" /> </div> requisicao ajax <script> $(document).ready(function() { select_resultados() }); function select_resultados() { $.ajax({ url: 'select_resultados.php', method: 'GET', success: function(dados) { $('#resultados').html(dados); } }); } </script> pagina php que busca no banco $query_select = "SELECT * FROM resultados ORDER BY id DESC"; $result_select = $connect->prepare($query_select); $result_select->execute(); while($resultado_select = $result_select->fetch(PDO::FETCH_ASSOC)){ extract($resultado_select); echo ' <option value='.$id.'>'.$name.'</option>'; }
-
[ RESOLVIDO CANCELADO] não consigo passar o $POST para o arquivo ajaxfile2.php
Leandro T. postou um tópico no fórum Javascript
$.ajax({ url: 'ajaxfile2.php?xis=<?php echo $PerguntasRow["pergunta_id"];?>&resx=<?php echo $_SESSION["respon"]; ?>', type: 'POST', data: form_data2<?php echo $PerguntasRow["pergunta_id"];?>, dataType: 'json', contentType: false, processData: false, success: function (data) { } }); } Pessoal, boa tarde! não estou conseguindo fazer o ajaxfile2.php receber os parâmetros deste ajax -
[RESOLVIDO] Ajax - Problema ao enviar requisição por jquery
manolegal postou um tópico no fórum Javascript
Boa tarde Tenho 5 campos do tipo select no meu formulário. A seguir um dos campos. <div id="resp" class="form-group col-md-3" placeholder="Responsável" title="Pesquisar por Responsável"> <select class="form-control" id="resp" name="resp" placeholder="Responsável" title="Pesquisar por Responsável"> <option value="">Responsável</option> <?php $Sql = "SELECT ..."; $Resultado = ... while ($linha = @pg_fetch_array($Resultado)){. $id_responsavel_bd = $linha["id_responsavel"]; $nome_responsavel_bd = $linha["responsavel"]; if ($resp == $id_responsavel_bd){ echo "<option value='$id_responsavel_bd' selected = 'selected'>$nome_responsavel_bd</option>";} else{ echo "<option value='$id_responsavel_bd'>$nome_responsavel_bd</option>";} } ?> </select> </div> Tenho uma função jquery que ao selecionar qualquer um destes campos, faz uma requisição ajax para atualizar uma div do meu form. <script type="text/javascript"> $(document).ready(function(){ $('select').change(function(){ // Todos selects $('form').submit(function(){ var dados = $(this).serialize(); $.ajax({ type: "POST", url: 'arquivo_ajax.php', dataType: 'html', data: dados, }).done(function(data){ //console.log(data); $("#list").empty().html(data); }); return false; }); $("#meu_form").trigger('submit'); }); }); </script> Ao abrir o formulário e fazer a primeira seleção de algum campo do tipo select, é gerada uma solicitação ajax. O problema é que a cada nova seleção deste campo e de algum outro campo, ao invés de realizar UMA ÚNICA REQUISIÇÃO, está aumentando o número de requisições a cada nova ação. Como não tenho muitos conhecimentos em jquery/ajax em minha dúvida: - É normal ir aumentando o número de requisições? - Deveria sempre realizar apenas uma requisição (imagino que seja correto)? - Meu código está correto? Se não está, onde estou errando? Desde já agradeço pela colaboração. -
Estou fazendo um protótipo de e-commerce com aps clássico e sql server, na parte de administração, o usuário administrativo pode alterar o status do pedido, para isso ele clica no botão de alterar na pagina principal e é redirecionado para um formulário onde tenho as options, para que ele mude o status, coloquei um botão para que ele passe os parâmetros (id_pedido e id_status_pedido) para a pagina de manutenção, onde é feito o update e o envio de e-mail com as atualizações. Mas quero retirar esse botão e fazer com que, assim que eu clique em uma opção, ele altere, sem eu precisar ser redirecionado para a tela de manutenção, isso com o Ajax se possível. <body> <% call Abredb() cod = Request.QueryString("cod") evt = Request.QueryString("evt") if cod <> "" then cod = cint(cod) end if if ucase(evt) = "ALT" then sql = "exec SP_TR32_status_frm_SEL" 'Response.Write(sql) 'Response.End() set rs = dbWeb.execute(sql) estrato = rs("id_status_pedido") bot = "Alterar" end if %> <div class="container"> <div class="titulo">Formulario</div> <form action="manu_pedido.asp" method="post" enctype="multipart/form-data"> <div class="detalhes-formulario"> <div class="input-box"> <span class="detalhes">status</span> <select class="form-control" name = "status"> <% do while not rs.eof%> <option value="<%=rs("id_status_pedido")%>"><%=rs("descricao")%></option> <% rs.movenext loop rs.close set rs = nothing %> </select> </div> </div> <button><a href="/treinamento/Thau/mini_mercado/adm/manu_pedido.asp?evt=alt&cod="<%=cod%>"&estrato="<%rs("id_status_pedido")%> </form> </div> <br> </body> <%call Fechadb()%> </html> Abaixo está o código da minha pagina de manutenção, no qual acontece a alteração do status <% Function ZerosEsquerda(Num,tam) Dim Zero Num = Trim(Num) Zero = "" For i = Len(Num) To tam - 1 Zero = "0" & Zero Next ZerosEsquerda = Trim(Zero & Num) End Function byteCount = Request.TotalBytes RequestBin = Request.BinaryRead(byteCount) Set UploadRequest = CreateObject("Scripting.Dictionary") BuildUploadRequest RequestBin 'opc = request.QueryString("opc") 'if opc = "" then 'cod = UploadRequest.Item("hfcod").Item("Value") 'botao = UploadRequest.Item("botao").Item("Value") 'estrato = UploadRequest.Item("estrato").Item("Value") 'end if session.LCID = 1046 call Abredb() if botao = "Alterar" then ' ALTERANDO OS DADOS RECEBIDOS NA TABELA sql = "exec SP_TR32_pedido_UPD "&cod&", '"&estrato&"'" 'response.write sql 'response.end dbWeb.execute(sql) str_html = "" str_html = str_html & "<HTML><BODY BGCOLOR=#0000FF>" str_html = str_html & "<h1>produtos</h1>" sql ="SP_TR32_email__itens_sel "&cod&"" set rs = dbWeb.execute(sql) str_html = str_html & "<table>" str_html = str_html & "<thead>" str_html = str_html & " <tr>" str_html = str_html & "<th>Produtos</th>" str_html = str_html & "<th>quantidade</th>" str_html = str_html & " <th>Total</th>" str_html = str_html & "</tr>" str_html = str_html & " </thead>" str_html = str_html & "<tbody>" do while not rs.eof str_html = str_html & "<tr>" str_html = str_html & "<td >"&rs("produto")&"</td>" str_html = str_html & "<td >"&rs("quantidade")&"</td>" str_html = str_html & "<td >"&rs("total")&"</td>" str_html = str_html & "</tr>" rs.movenext loop rs.close set rs = nothing str_html = str_html & " </tbody>" str_html = str_html & "</table>" str_html = str_html & "</BODY></HTML>" sql = "SP_TR32_email_sel "&cod&"" set rs = dbWeb.execute(sql) if estrato<>"" then Set ObjMail = Server.CreateObject("Cdonts.Newmail") objMail.Subject = "Atualização de pedido" objMail.From = "Porto Dourado <contato@email.websupply.com.br>" objMail.To = "request("email")" objMail.BodyFormat = 0 objMail.MailFormat = 0 objMail.Body = "Olá"&" "&rs("nome")&" "&rs("sobrenome")&", </br> Houve uma atualização em seu pedido pedido: "&rs("id_pedido")&" </br> o status mudou para: "&rs("descricao")&" </br> endereço de entrega: "&rs("cep")&", "&rs("rua")&", "&rs("bairro")&", "&rs("numero")&", "&rs("cidade")&", "&rs("Uf")&" </br>Total pedido: "&rs("total_pedido")&" </br> "& str_html &" </br></br>"&" Atentamente,"&" </br> "&"Equipe Porto dourado"&" </br></br> "&"Para entrar em contato com a equipe de suporte, entre em contato com o email ou ligue para nossa central no numero " objMail.Send Set objMail = nothing envio = true %> <script> alert('email com alteração enviado com sucesso!'); </script> <% end if if estrato = 6 then sql = "exec SP_TR32_adm_data_envio_UPD "&cod&"" dbWeb.execute(sql) end if if estrato = 4 then sql = "exec SP_TR32_adm_data_entregue_UPD "&cod&"" dbWeb.execute(sql) end if %> <script> alert("Dados alterado com sucesso!") parent.location = "cst_pedido.asp" </script> <% end if %> <%call Fechadb()%>
-
- javascript
- ajax
-
(e mais 2 )
Tags:
-
datatable DataTable Ajax - Manipular dados retornados do servidor
DuduBacteria postou um tópico no fórum Javascript
Olá, table = $('.dataTable').DataTable({ 'destroy':true, 'ajax':{ 'url':DIRPAGE + '/painel/exibir-brinde/todos', 'method':'GET', 'dataSrc':'' }, 'columns':[ {'data':'nome'}, {'data':'doc'}, {'data':'brinde'}, {'data':'data'}, {'data':'empresa'}, {'defaultContent':'<td class="id"><button class="btn btn-success btn-resgatar" value="id_usuario" id_brinde="id_brinde"><i class="fas fa-plus-circle"></i> Resgatar </button></td>'} ] });-
- php
- javascript
-
(e mais 1 )
Tags:
-
Viva pessoal, Estou tentando fazer uma consulta em que os parâmetros são enviados através do ajax para o php, até aqui tu esta a correr bem. O problema é quando tento resgatar a resposta através do "console.log" é me devolvido "undefined", será que alguém me pode auxiliar com esse pequeno problema?! Em baixo segue o essencial do código do ajax e php. AJAX $.ajax({ type: 'POST', url:'index2.php?adm='+$pag, data:{send: 1, opt: $option}, //dataType:'json', success: function(result){ console.log(result); } }); PHP $data = array(); /*USER OPTION REQUEST*/ if (isset($_POST['send'])){ switch($_POST['opt']){ ... case 3: /*ERASE SELECTED ITEMS*/ $data = array('status'=>'OK'); echo json_encode($data); die; break; } } Supostamente se no console.log adiciona-se "result.status" deveria obter "OK", mas em vez disso obtenho undefined. Caso execute o código da forma que esta obtenho como resultado {"status":"OK"}
-
Viva pessoal, Estou tentando fazer uma consulta em que os parâmetros são enviados através do ajax para o php, até aqui tu esta a correr bem. O problema é quando tento resgatar a resposta através do "console.log" é me devolvido "undefined", será que alguém me pode auxiliar com esse pequeno problema?! Em baixo segue o essencial do código do ajax e php. AJAX $.ajax({ type: 'POST', url:'index2.php?adm='+$pag, data:{send: 1, opt: $option}, //dataType:'json', success: function(result){ console.log(result); } }); PHP $data = array(); /*USER OPTION REQUEST*/ if (isset($_POST['send'])){ switch($_POST['opt']){ ... case 3: /*ERASE SELECTED ITEMS*/ $data = array('status'=>'OK'); echo json_encode($data); die; break; } } Supostamente se no console.log adiciona-se "result.status" deveria obter "OK", mas em vez disso obtenho undefined. Caso execute o código da forma que esta obtenho como resultado {"status":"OK"}
-
Neste site aqui: https://kithomepage.com/estado-cidade-municipio/ tem um dropdown de Estados, cidades, municípios só que ao selecionar estado, abre um novo seletor de cidades e ao selecionar a cidade abre um novo seletor de bairros. Quero saber se seria possível / viável, abrir no mesmo seletor dropdown select. Ao invés de abrir 3 que o Estado, por exemplo, se "transforma-se" em bairros no option ficaria assim: <select name="endereco" id="estados"> <option>São Paulo</option> <option>Rio de Janeiro</option> </select> Após selecionar o estado o mesmo seletor ficaria assim: <select name="endereco" id="municipio"> <option>São Paulo > Campinas</option> <option>São Paulo > Guarulhos</option> </select> E ao selecionar a cidade ficaria assim: <select name="endereco" id="bairros"> <option>São Paulo > Campinas > Parque Prado</option> <option>São Paulo > Campinas > Taquaral</option> </select> Então enviaria o valor do endereço estado/cidade/bairro em um só dropdown select. Podem me ajudar com dicas e falando se é ou não possível e qual o caminho (o que eu deveria procurar) pra fazer isso. Grato.
- 2 respostas
-
- javascript
- ajax
-
(e mais 1 )
Tags:
-
Qual seria a forma correta de projetar uma aplicação multi formulários. Estou fazendo ela em Jquery com Load() mas algumas ações não são executadas em script. Me pergunto seria o correto? Exemplo: pensando um cadastro de clientes/empresas - clientes.php (formulário de cadastro/edição/anexos) - empresas.php (formulários de cadastro de empresa/ funcionários/ setores) - relatorios.php (clientes e empresas) Cada página dessa eu chamo, ela vem sempre com o seu conteúdo... Pensei no seguinte, todos estea formulários carregados e eu apenas usar função Get() para preencher campos e gerar os relatórios. Fica a dúvida, pois hj essas páginas extras são HTML com form e ações PHP
-
Formulário com JQuery dando refresh na página ao invés de submit
marcossantana10 postou um tópico no fórum Javascript
Amigos, estou com o seguinte problema: quando monto meu formulário dinamicamente, ao clicar no botão submit é dado um refresh na página, ao invés de realizar o submit. Esse formulário busca todos os registros de uma dada categoria no banco de dados e os monta na página para que possam ser editados individualmente. Segue o código: //montando os formulários: $.each(responseJson, function(key, value){ var itens = "<div class='card_nbl'><div class='container_nbl'><div class='text_card_nbl update_info_consulta'><form name='updateProntuario' method='post'><label style='text-align: left;' for='prontuario'>Consulta:</label><textarea name='prontuario' class='input_full' style='resize: none; height: 100px; padding-top: 10px; margin-top: 5px;' id='prontuario'>"+value.descricao+"</textarea><label style='text-align: left;' for='info_sigilosa'>Informações sigilosas:</label><br><textarea name='info_sigilosa' class='input_full' style='resize: none; height: 100px; padding-top: 10px; margin-top: 5px;' id='info_sigilosa'>"+value.info_sigilosa+"</textarea><input type='submit' name='salvar' value='Salvar' class='btn btn_padrao'></form></div></div></div>" $("#item1mobile").append(itens) }) Minha função de submit: $(function(){ $('form[name=updateProntuario]').submit(function(){ $.ajax({ type: 'POST', url: 'www', dataType: 'json', data: $(this).serialize(), success: function(data){ $("#loading").attr("class", "loading") swal_sucesso("Tudo certo!", "As informações sobre a consulta foram atualizadas.") } }); return false; }) }) OBS: quando eu faço o formulário direto no HTML (sem montar vários itens com um laço, como acima), o submit funciona normalmente.-
- javascript
- jquery
- (e mais 4 )
-
Boa tarde, estou fazendo a conexão da seguinte maneira: $servername = "localhost"; $database = "banco"; $username = "user"; $password = "senha"; // Create connection $conn = mysqli_connect($servername, $username, $password, $database); // Check connection if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } //echo "Connected successfully"; mysqli_close($conn); No campo pesquisar: require_once('class/Conexao.class.php'); try { $pdo = new Conexao(); $resultado = $pdo->select("SELECT * FROM phrasal WHERE ingles LIKE '$parametro%' or portugues like '$parametro%' ORDER BY id LIMIT 4"); $pdo->desconectar(); }catch (PDOException $e){ echo $e->getMessage(); } //resgata os dados na tabela if(count($resultado)){ foreach ($resultado as $res) { $msg .=" <tr>"; $msg .=" <td><font color='#87CEFA' size=$size><b>".$res['ingles']."</b></font></td>"; $msg .=" <td><div class='a'><font size=$size>".$res['portugues']."</font></div></td>"; $msg .=" <td><div class='a' align='justify'><font size=$size>".$res['exemplo']."</font></div></td>"; $msg .=" </tr>"; } }else{ $msg = ""; $msg .="Nenhum resultado foi encontrado..."; } $msg .=" </tbody>"; $msg .="</table>"; //retorna a msg concatenada echo $msg; Mas não retorna nada. Onde estou errando? Site: http://ehoradoingles.com/ Desde já agradeço.
-
Verificar se já existe o nome cadastro no banco de dados
Jack Oliveira postou um tópico no fórum PHP
Boa noite pessoal Quero fazer uma verificação em tempo real no banco de dados antes de clicar para cadastra, ver se o nome que esta no input name="nome_empresa_link" ver se ele já existe no banco de dados. no caso so permitir preencher outro campos se o input que esta sendo verificado estiver correto ou seja tudo ok... Lembrando este input ele é preenchido conforme é digitado no input name="nome_empresa" Não sei se isso interfere ao fazer a verificação HTML <div class="col-md-6"> <div class="form-group"> <label for="nome_empresa">Nome</label> <input type="text" autocomplete="off" id="nome_empresa" maxlength="100" name="nome_empresa" class="form-control input_nome_empresa" required placeholder="Nome da Loja"> </div> </div> <div class="col-md-6"> <div class="form-group"> <label for="nome_empresa_link">Url Amigavél</label> <em id="resposta"></em> <input type="text" autocomplete="off" id="nome_empresa_link" name="nome_empresa_link" maxlength="100" class="form-control input_nome_empresa_link" required placeholder="/ Use maiúsculas, minúsculas e underline."> <?= $site; ?><span><em style="color: green;" id="nome_empresa_link"></em>/</span> </div> </div> No PHP fazer verificação fiz isso... <?php if(isset($_POST['nome_empresa_link'])) { $nome_empresa_link=$_POST['nome_empresa_link']; $checkdata = DBCount('ws_empresa','nome_empresa_link',"WHERE nome_empresa_link = '{$nome_empresa_link}'"); if ($checkdata >= 0) { //echo "Um nome igual este já esta sendo usado no sistema"; swal('Atenção!!!', 'A URL AMIGAVÉL não disponivél para cadastro \n tente com outro nome!', 'warning', 'Fechar'); } /*else { echo "<font color='green'>Disponivél...</font>"; } */ exit(); } ?> No ajax fiz assim <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script language="javascript"> var nome_empresa_link = $("#nome_empresa_link"); nome_empresa_link.blur(function() { $.ajax({ url: 'notificacao/checkdata.php', type: 'POST', data:{"nome_empresa_link" : nome_empresa_link.val()}, success: function(data) { console.log(data); data = $.parseJSON(data); $("#resposta").text(data.nome_empresa_link); } }); }); </script> Só que não retorna nada -
Preciso adicionar uma função de timeout na minha requisição AJAX e peço ajuda aos colegas. Já tenho um AJAX que funciona normalmente. Preciso de ajuda para saber como implementar um timeout no código que já tenho. Vejam o código. É um script genérico, para ser reutilizado pelas diversas functions do sistema, que precisam trazer dados. const server = { req : null, res : null, ajax : function(strReq, functionResposta) { this.req = strReq this.url = this.req.url this.req = JSON.stringify(this.req); this.status = 0; try { if (window.XMLHttpRequest) { $obj = new XMLHttpRequest(); } else { $obj = new ActiveXObject('Microsoft.XMLHTTP'); } $obj.onreadystatechange = function() { if ($obj.readyState == 4 && $obj.status >= 200 && $obj.status <= 299) { server.res = JSON.parse($obj.responseText); functionResposta(); } } $obj.open('post', this.url, true); $obj.setRequestHeader('content-type', 'application/x-www-form-urlencoded'); $obj.send(encodeURI('str='+server.req)); } catch(e) { this.req = null; this.res = null; } } }; Para chamar essa function, passando parâmetros, faço assim: //crio uma string com parâmetros... var obj={id:'XPTO', url:'/app/backend/'}; //invoco a function AJAX escrita acima server.ajax(obj, function(){});} Essa estrutura funciona normalmente. Só preciso mesmo saber como implementar um "timer" para responder assim que receber a resposta do servidor.
-
Ola pessoa se a minha duvida estiver no topic errado pessoa desculpas Mais é o seguinte fiz uns arquivos formato json funciona perfeitamente porem alguns deles tem opção de abrir modal para cadastro e edição mais eles não esta abrindo DataTable Se eu fazer sem usar datatable direto no arquivo ele abre o script esta da seguinte forma <script type="text/javascript"> $(function () { $("#DataTableAjax").DataTable({ "pageLength": 25, "processing": true, "serverSide": true, "ajax": "ajax/<?php echo $UrlPage; ?>", "aLengthMenu": [ [5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 100, -1], [5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 100, "Todos"] ], "paging": true, "lengthChange": true, "searching": true, "ordering": true, "info": true, "autoWidth": true, "columnDefs": [{ "targets": 'no-sort', "orderable": false, }], "language": { "sEmptyTable": "Nenhum registro encontrado", "sInfo": "Mostrando de _START_ até _END_ de _TOTAL_ registros", "sInfoEmpty": "Mostrando 0 até 0 de 0 registros", "sInfoFiltered": "(Filtrados de _MAX_ registros)", "sInfoPostFix": "", "sInfoThousands": ".", "sLengthMenu": "Mostrar _MENU_ resultados por página", "sLoadingRecords": "Carregando...", "sProcessing": "Processando...", "sZeroRecords": "Nenhum registro encontrado", "sSearch": "Pesquisar", "oPaginate": { "sNext": "Próximo", "sPrevious": "Anterior", "sFirst": "Primeiro", "sLast": "Último" }, "oAria": { "sSortAscending": ": Ordenar colunas de forma ascendente", "sSortDescending": ": Ordenar colunas de forma descendente" } } }); }); </script> Bom acho que o arquivo a seguir não tem nada a ver, mais irei colocar mesmo assim. Na parte onde se o arquivo ajax/lojas.php que seria em formato json esta assim <?php return ob_get_clean(); } ), array( 'db' => 'id_empresa', 'dt' => 10, 'formatter' => function ($id_empresa, $row) { ob_start(); $ImprimirPermissao = GetPermissaoAcesso(); ?> <?php if (checkPermissao($ImprimirPermissao, 'lojas', 'produto', 'renovar')) { ?> <a class="btn btn-primary" href="#" data-toggle="modal" data-target="#modalRenovar_<?= $row['id_empresa'];?>"><i title="Nova data de renovação" class="fa fa-calendar" aria-hidden="true"></i></a> <?php } ?> Modal assim <?php $Query = DBRead('lojas','*'); if (is_array($Query)) { foreach ($Query as $dados) { ?> <div class="modal fade" id="modalRenovar_<?= $id_empresa;?>" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> <div class="modal-dialog modal-lg" role="document"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> <h4 class="modal-title" id="myModalLabel"><b>LOJA: </b><?= $nome_empresa;?></h4> </div> <div class="modal-body"> <form method="post" action="?AtualizarEmpresa=<?= $id_empresa; ?>" enctype="multipart/form-data"> <div class="form-group"> <label>Nova data:</label> <input class="form-control" type="date" name="empresa_data_renovacao" required placeholder="00/00/0000"> </div> </div> <div class="modal-footer"> <input type="hidden" name="user_id" value="<?=$user_id;?>"> <center><hr> <button class="btn btn-primary">Atualizar</button> <br><br> </center> </form> </div> <div class="modal-footer"> </div> </div> </div> </div> <?php }} ?>
-
Bom Dia, Estou com uma dificuldade para conseguir colocar os options de um select dentro do mesmo utilizando Ajax, as informações estão vindo corretas mas na hora de enviar para o HTML que eu acho que estou fazendo alguma coisa errada, estou utilizando o select2 pois tenho necessidade de colocar imagens dentro dos <option> para cada item que trouxer, segue o código utilizado a baixo: index.php <html> <head> <title>TESTE</title> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.5/js/i18n/pt-BR.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.5/js/select2.js"></script> <script language="JavaScript" src="javascript.js"></script> <!-- Arquivo JavaScript --> <link rel="stylesheet" href="estilo.css"/> <!-- Arquivo de Estilo CSS --> </head> <body> <link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.5/css/select2.css" rel="stylesheet"/> <select id="testeSelect"> <span id="respSelect"></span> </select> </body> <script> carrega_produtos(); </script> </html> javascript.js function carrega_produtos(){ var verifica = 'get_produto'; $('.load').show(); jQuery.ajax({ type: 'POST', url: './get_dados.php', data: 'verifica='+ verifica, cache: false, success: function(response){ $("#respSelect").html(response); $('.load').hide(); } }); } $( document ).ready(function() { function formatProduto (option) { if (!option.id) { return option.text; } var ob = '<img src="../../img/oculos_teste.jpg" />' + option.text; return ob; }; $("#testeSelect").select2({ placeholder: "Selecione o Produto !", width: "20%", templateResult: formatProduto }); }); get_dados.php <?php include './conn_orcl.php'; $verifica = $_POST['verifica']; if($verifica == 'get_produto' ) { $select="SELECT PRO_CODPRO PRODUTO,TRIM(PRO_DESCRI) DESCRICAO FROM F_PRODS WHERE PRO_LOCEST='ALMOX' AND PRO_STATUS = 'AT' ORDER BY DESCRICAO"; $parse=oci_parse($conn,$select); oci_execute($parse); while ($fetch=oci_fetch_array($parse)){ $cod = $fetch['PRODUTO']; $desc = $fetch['DESCRICAO']; $option = $option."<option>$cod - $desc</option>"; } echo $option; } ob_end_flush(); oci_free_statement($parse); oci_close($conn); ?> As informações estão vindo corretas, mas não consigo aparecer no select Agradeço quem poder me dar uma luz, Obrigado.
-
javascript Como recuperar os valores usando sortable! do (id) de uma li e a posição atual do (id) da nova (ul)
cfandrade postou um tópico no fórum Javascript
Estou tentando fazer a mudança dos (li) desse sistema que chamei de PRONTUARIOS, apenas arrastando de uma (ul) atual para outra que chamei de CAIXA, estou tentando recuperar o valor do id do prontuario (li) e a caixa atual que o usuário deixou o prontuario caso tenha mudado para uma nova caixa (ul). se alguem puder me ajudar, preciso recuperar o valor desses ids e atualizar no banco de dados! <script type="text/javascript"> $(document).ready(function() { $("ul").sortable({ delay: 150, connectWith: ".parent", cursor: 'move', stop: function() { var caixaAtual = new Array(); var prontuario = ''; $('li .prontuario').each(function() { //caixaAtual = $("data-id").html(); //prontuario = $("data-id").val(this); }); console.log(prontuario); //updateOrder(prontuario,caixaAtual); } }); function updateOrder(id,caixa) { $.ajax({ url:"documentos/alterar_prontuario", type:'post', data:{id:id,caixa:caixa}, success:function(data){ toastr.success('Alterado com sucesso.'); } }) } }); <div class="container mx-auto mt-3 mb-5 text-center"> <h4 class="col-12 text-center mx-auto">LISTAGEM SEGUNDO VOLUME</h4> CAIXA N° 01 <ul id="c_01" class="col-12 parent mt-0 mb-2 ui-sortable"> <li id="239" data-id="239" class="col-12 mx-auto prontuario ui-sortable-handle"> <table class="table table-hover table-sm mb-0 "> <tbody><tr class="row col-12 mx-auto text-center"> <td class="col-1 align-middle mx-auto p-0 text-center">1</td> <td class="col-5 align-middle mx-auto p-0 text-left">ADRIANO ALVES DE ALMEIDA</td> <td class="col-2 align-middle mx-auto p-0 text-center">617.598-8</td> <td class="col-1 align-middle mx-auto p-0 text-center">1</td> <td class="col-2 align-middle mx-auto p-0 text-center">1257101/2020</td> <td class="d-print-none col-1 align-middle mx-auto p-0 text-center"><a type="button" class="btn btn-outline-danger" </tr> </tbody></table> </li> <li id="247" data-id="247" class="col-12 mx-auto prontuario ui-sortable-handle" style="position: relative; left: 0px; top: 0px;"> <table class="table table-hover table-sm mb-0 "> <tbody><tr class="row col-12 mx-auto text-center"> <td class="col-1 align-middle mx-auto p-0 text-center">5</td> <td class="col-5 align-middle mx-auto p-0 text-left">ALEX JORGE MELO DA SILVA</td> <td class="col-2 align-middle mx-auto p-0 text-center">664.041-1</td> <td class="col-1 align-middle mx-auto p-0 text-center">1</td> <td class="col-2 align-middle mx-auto p-0 text-center">1251911/2020</td> </tr> </tbody></table> </li><li id="241" data-id="241" class="col-12 mx-auto prontuario ui-sortable-handle"> <table class="table table-hover table-sm mb-0 "> <tbody><tr class="row col-12 mx-auto text-center"> <td class="col-1 align-middle mx-auto p-0 text-center">2</td> <td class="col-5 align-middle mx-auto p-0 text-left">ALEF DA SILVA OLIVEIRA</td> <td class="col-2 align-middle mx-auto p-0 text-center">1.199.560-2</td> <td class="col-1 align-middle mx-auto p-0 text-center">1</td> <td class="col-2 align-middle mx-auto p-0 text-center"></td> </tr> </tbody></table> </li> <li id="240" data-id="240" class="col-12 mx-auto prontuario ui-sortable-handle"> <table class="table table-hover table-sm mb-0 "> <tbody><tr class="row col-12 mx-auto text-center"> <td class="col-1 align-middle mx-auto p-0 text-center">3</td> <td class="col-5 align-middle mx-auto p-0 text-left">ALEX ALVES CERQUEIRA</td> <td class="col-2 align-middle mx-auto p-0 text-center">340.704-6</td> <td class="col-1 align-middle mx-auto p-0 text-center">1</td> <td class="col-2 align-middle mx-auto p-0 text-center">1809667/2020</td> </tr> </tbody></table> </li> <li id="248" data-id="248" class="col-12 mx-auto prontuario ui-sortable-handle"> <table class="table table-hover table-sm mb-0 "> <tbody><tr class="row col-12 mx-auto text-center"> <td class="col-1 align-middle mx-auto p-0 text-center">6</td> <td class="col-5 align-middle mx-auto p-0 text-left">ALEX XAVIER PIAUI</td> <td class="col-2 align-middle mx-auto p-0 text-center">771.513-9</td> <td class="col-1 align-middle mx-auto p-0 text-center">1</td> <td class="col-2 align-middle mx-auto p-0 text-center">1243357/2020</td> </tr> </tbody></table> </li> <li id="249" data-id="249" class="col-12 mx-auto prontuario ui-sortable-handle"> <table class="table table-hover table-sm mb-0 "> <tbody><tr class="row col-12 mx-auto text-center"> <td class="col-1 align-middle mx-auto p-0 text-center">7</td> <td class="col-5 align-middle mx-auto p-0 text-left">ALEXANDRE DE OLIVEIRA MEDEIROS</td> <td class="col-2 align-middle mx-auto p-0 text-center">893.604-9</td> <td class="col-1 align-middle mx-auto p-0 text-center">1</td> <td class="col-2 align-middle mx-auto p-0 text-center">1415815/2020</td> </tr> </tbody></table> </li><li id="246" data-id="246" class="col-12 mx-auto prontuario ui-sortable-handle" style="position: relative; left: 0px; top: 0px;"> <table class="table table-hover table-sm mb-0 "> <tbody><tr class="row col-12 mx-auto text-center"> <td class="col-1 align-middle mx-auto p-0 text-center">4</td> <td class="col-5 align-middle mx-auto p-0 text-left">ALEX EDUARDO DE JESUS LOURENCO</td> <td class="col-2 align-middle mx-auto p-0 text-center">236.643-3</td> <td class="col-1 align-middle mx-auto p-0 text-center">1</td> <td class="col-2 align-middle mx-auto p-0 text-center">1392042/2020</td> </tr> </tbody></table> </li> <li id="250" data-id="250" class="col-12 mx-auto prontuario ui-sortable-handle"> <table class="table table-hover table-sm mb-0 "> <tbody><tr class="row col-12 mx-auto text-center"> <td class="col-1 align-middle mx-auto p-0 text-center">8</td> <td class="col-5 align-middle mx-auto p-0 text-left">ALEXANDRE PEREIRA DA COSTA</td> <td class="col-2 align-middle mx-auto p-0 text-center">932.592-9</td> <td class="col-1 align-middle mx-auto p-0 text-center">1</td> <td class="col-2 align-middle mx-auto p-0 text-center">1532754/2020</td> <td class="d-print-none col-1 align-middle mx-auto p-0 text-center"><a type="button" class="btn btn-outline-danger" href="http://10.14.101.160/cimic/?url=documentos/excluir_segundo_volume/250" title="APAGAR"><i class="fa fa-trash"></i></a></td> </tr> </tbody></table> </li> </ul> CAIXA N° 02 <ul id="c_02" class="col-12 parent mt-0 mb-2 ui-sortable"> <li id="242" data-id="242" class="col-12 mx-auto prontuario ui-sortable-handle"> <table class="table table-hover table-sm mb-0 "> <tbody><tr class="row col-12 mx-auto text-center"> <td class="col-1 align-middle mx-auto p-0 text-center">1</td> <td class="col-5 align-middle mx-auto p-0 text-left">ALEXSANDRO HENRIQUE FRANCA CAMARGO DE MOURA</td> <td class="col-2 align-middle mx-auto p-0 text-center">1.224.350-7</td> <td class="col-1 align-middle mx-auto p-0 text-center">1</td> <td class="col-2 align-middle mx-auto p-0 text-center">2092453/2020</td> </tr> </tbody></table> </li> <li id="251" data-id="251" class="col-12 mx-auto prontuario ui-sortable-handle"> <table class="table table-hover table-sm mb-0 "> <tbody><tr class="row col-12 mx-auto text-center"> <td class="col-1 align-middle mx-auto p-0 text-center">2</td> <td class="col-5 align-middle mx-auto p-0 text-left">AMAURI FERREIRA DA SILVA</td> <td class="col-2 align-middle mx-auto p-0 text-center">613.004-1</td> <td class="col-1 align-middle mx-auto p-0 text-center">3</td> <td class="col-2 align-middle mx-auto p-0 text-center">1243426/2020</td> </tr> </tbody></table> </li> <li id="prontuario" data-id="243" class="col-12 mx-auto prontuario ui-sortable-handle"> <table class="table table-hover table-sm mb-0"> <tbody><tr class="row col-12 mx-auto text-center"> <td class="col-1 align-middle mx-auto p-0 text-center">3</td> <td class="col-5 align-middle mx-auto p-0 text-left">ANDERSON LIMA RIBEIRO GONCALVES</td> <td class="col-2 align-middle mx-auto p-0 text-center">1.164.179-2</td> <td class="col-1 align-middle mx-auto p-0 text-center">1</td> <td class="col-2 align-middle mx-auto p-0 text-center"></td> </tr> </tbody></table> </li> <li id="252" data-id="252" class="col-12 mx-auto prontuario ui-sortable-handle"> <table class="table table-hover table-sm mb-0 "> <tbody><tr class="row col-12 mx-auto text-center"> <td class="col-1 align-middle mx-auto p-0 text-center">4</td> <td class="col-5 align-middle mx-auto p-0 text-left">ANDERSON SOUZA VELOSO</td> <td class="col-2 align-middle mx-auto p-0 text-center">277.426-3</td> <td class="col-1 align-middle mx-auto p-0 text-center">1</td> <td class="col-2 align-middle mx-auto p-0 text-center"></td> </tr> </tbody></table> </li> <li id="244" data-id="244" class="col-12 mx-auto prontuario ui-sortable-handle"> <table class="table table-hover table-sm mb-0 "> <tbody><tr class="row col-12 mx-auto text-center"> <td class="col-1 align-middle mx-auto p-0 text-center">5</td> <td class="col-5 align-middle mx-auto p-0 text-left">ANDRE ALMEIDA</td> <td class="col-2 align-middle mx-auto p-0 text-center">1.096.394-0</td> <td class="col-1 align-middle mx-auto p-0 text-center">2</td> <td class="col-2 align-middle mx-auto p-0 text-center"></td> </tr> </tbody></table> </li> <li id="245" data-id="245" class="col-12 mx-auto prontuario ui-sortable-handle"> <table class="table table-hover table-sm mb-0 "> <tbody><tr class="row col-12 mx-auto text-center"> <td class="col-1 align-middle mx-auto p-0 text-center">6</td> <td class="col-5 align-middle mx-auto p-0 text-left">ANDRE LUIZ RODRIGUES</td> <td class="col-2 align-middle mx-auto p-0 text-center">465.133-7</td> <td class="col-1 align-middle mx-auto p-0 text-center">1</td> <td class="col-2 align-middle mx-auto p-0 text-center">2213488/2020</td> </tr> </tbody></table> </li> </ul> CAIXA N° 03 <ul id="c_03" class="col-12 parent mt-0 mb-2 ui-sortable"> <li id="253" data-id="253" class="col-12 mx-auto prontuario ui-sortable-handle"> <table class="table table-hover table-sm mb-0 "> <tbody><tr class="row col-12 mx-auto text-center"> <td class="col-1 align-middle mx-auto p-0 text-center">1</td> <td class="col-5 align-middle mx-auto p-0 text-left">ANDREO LEONE FERREIRA LOBATO</td> <td class="col-2 align-middle mx-auto p-0 text-center">719.305-5</td> <td class="col-1 align-middle mx-auto p-0 text-center">2</td> <td class="col-2 align-middle mx-auto p-0 text-center">1359268/2020</td> </tr> </tbody></table> </li> <li id="254" data-id="254" class="col-12 mx-auto prontuario ui-sortable-handle"> <table class="table table-hover table-sm mb-0 "> <tbody><tr class="row col-12 mx-auto text-center"> <td class="col-1 align-middle mx-auto p-0 text-center">2</td> <td class="col-5 align-middle mx-auto p-0 text-left">AUGUSTO PEREIRA DA SILVA</td> <td class="col-2 align-middle mx-auto p-0 text-center">1.094.345-4</td> <td class="col-1 align-middle mx-auto p-0 text-center">1</td> <td class="col-2 align-middle mx-auto p-0 text-center">1183605/2020</td> </tr> </tbody></table> </li> </ul> </div>