Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Leo - gaviaoshow

Validar dados após envio de ajax no java

Recommended Posts

Pessoal, boa tarde!

Estou com uma dúvida na parte de ajax com java dentro de uma página PHP.

Peço desculpas se abri o tópico no lugar errado.

Tenho uma página que executa um formValidation (form_valida_dados) e executa via ajax a chamada para a próxima página. Isso funciona perfeitamente quando executo via função submit do form.

O problema é que eu tenho uma outra opção dentro da página em que o usuário pode optar por enviar o formulário para uma outra pessoa. Nesse caso, ele clica em outro botão do form. Nesse momento, eu preciso abrir um modal em que o usuário informe o motivo pelo qual ele deseja enviar esse formulário para outra pessoa.

Eu fiz isso com o código abaixo:

$.ajax({
        url : 'scripts/consultar_situacao_scm.php',
	type: 'post',
	dataType : 'html',
	data: 'scm_id='+scm_id+'&usuario='+usuario+'&acao='+acao,
	success : function(retorno){
		if(retorno == "1"){
			var box = bootbox.alert('Não foi possível encaminhar o SCM <font class="cyan-600"><b>'+scm_id+'</b></font> para análise do Assuntos Regulatórios.');
			box.find('.modal-footer').css({'background-color': '#f2f2f2', 'color': '#fff'});
		}else{
			$("#altera_andamento").modal({ backdrop: 'static' });
	    		$("#scm_retorno").html(retorno); 
		      }
		}
});

Dentro da minha página eu tenho uma <div> que fica aguardando o retorno dessa chamada ajax.

Isso funcionou do jeito que eu queria.

A questão é que dentro da página que eu chamei (consultar_situacao_scm.php) eu tenho a montagem do modal e também valido os dados digitados pelo usuário e chamo uma nova página via ajax, ou seja, seria a terceira página a ser utilizada.

Agora que entra minha dúvida/problema. Eu queria executar o formValidation (form_valida_dados) após o usuário informar o motivo pelo qual ele está enviando o formulário para outra pessoa.

Mas eu não consigo do jeito que está, pois a minha função do botão de enviar para outro usuário está "fechando" com o retorno do ajax acima citado.

Tem algum jeito de resolver isso? Vocês já viram algo desse tipo ou tem alguma outra sugestão para fazer essa validação?

Deu para entender ou ficou confuso?

Procurei bastante na net mas não encontrei nada relacionado a minha dúvida.

Agradeço pela ajuda!

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por ILR master
      Pessoal, pergunta bem simples. Abaixo tenho o seguinte código:
       
      <script>
      function alerta()
      {
        if (window.confirm("Você realmente quer sair?")) {
          window.open("sair.html");
      }
      }
      </script>
       
      Funciona perfeitamente, só que está abrindo em outra janela e quero que abra na mesma janela.
       
      Alguém pode me ajudar?
    • Por ment0r
      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á.
    • Por Danilo - Jesus voltará!
      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
    • Por Jack Oliveira
      Ola pessoal boa tarde
      estou tentando fazer um texto se mover dentro do input porem nao esta dando resultado que preciso
       
      Este é o codigo 
      <script type="text/javascript"> $(document).ready(function () { var frases = [{ 'elemento': $('input[name=search_string]'), 'frases': ["O que você está procurando?", "Buscar por: Academia, Barbearia, Churrascaria, Decoração, Escola, Farmácia, Gráfica, Imobiliaria, Lanchonete, Mecânica, Odontologia, Pizzaria...", "Faça sua busca por segmentos aqui.", "São mais de 3mil empresas para serem exploradas."] }]; animaInput(frases); }); </script>  
    • Por Rengavitp
      Boa noite pessoal!
       
      Estou fazendo um projeto web com spring boot e é a primeira vez que lido com imagens. Minha idéia é salvar imagens em uma pasta e depois recuperar essa imagem e mostrar, mas o problema que estou enfrentando é o seguinte, seu eu envio para o src do projeto na pasta imagens, eu até consigo acessar as imagens, mas preciso atualizar o projeto na IDE (isso vai acontecer em produção?) eu tentei salvar em uma pasta fora do source do projeto mas ai não consigo acessar. como devo fazer? fiz várias pesquisas, mas nenhuma me ajudou.
       
      Desde já agradeço.
×

Informação importante

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