Publicidade

Leo - gaviaoshow

Validar dados após envio de ajax no java

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

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!


Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.


Entrar Agora

  • Próximos Eventos

  • Conteúdo Similar

    • Por vicente386
      Tenho um sistema que listo os campos e atributos de uma tabela através de javascript e ajax até ai tudo, só que os elementos criados e listados em tempo de execução preciso manipula lós através de um seletor como faço pra pegar esse seletor como o id ?
      Este é o código que utilizo pra exibir os campos:
            
      if ($_POST['op']=='mostarcampos'){            $_SESSION['bancotabelas']=$_POST['bancotabelas'];      $_SESSION['tabelasbanco']=$_POST['tabelasbanco'];                  $pdo = new PDO(DB_SERVER.":host=".DB_HOST.";dbname=".$_POST['bancotabelas'],DB_USER,DB_PASSWORD);            $sql = $pdo->prepare("SHOW FIELDS FROM ".$_POST['tabelasbanco']);             $sql->execute();            foreach($sql as $obj){           echo'             <input id="'.$obj[0].'" type="text" class="form-control" value="'.$obj[0].'" placeholder="'.$obj[0].'" style="width:150px">             <input id="'.$obj[1].'" type="text" class="form-control" value="'.$obj[1].'" placeholder="'.$obj[1].'" style="width:150px">             <input id="'.$obj[2].'" type="text" class="form-control" value="'.$obj[2].'" placeholder="'.$obj[2].'" style="width:150px">             <input id="'.$obj[3].'" type="text" class="form-control" value="'.$obj[3].'" placeholder="'.$obj[3].'" style="width:150px">             <input id="'.$obj[4].'" type="text" class="form-control" value="'.$obj[4].'" placeholder="'.$obj[4].'" style="width:150px">             <input id="'.$obj[5].'" type="text" class="form-control" value="'.$obj[5].'" placeholder="'.$obj[5].'" style="width:150px">             <button id="updatetabela" class="btn btn-default">Alterar</button>                 ';        }     } através dele seleciono o banco e a tabela e ele lista pra mim seus campos e atributos preciso pegar o id deles quando estão criados para disparar um evento com o botão e poder alterar a tabela, desde já agradeço a ajuda.
      esse ID ai que quero pegar quando escolho o banco e a tabela ele é gerado.

    • Por VerdenKaf
      Boa noite!
       
      Estou com uma dúvida em como solucionar um problema, o cenário é esse:
       
      Tenho um input field para cadastro de nomes, a medida que você digita as letras, o sistema faz uma chamada JSON e vai preenchendo um dropdown com os nomes já cadastrados que obedecem o que está escrito, tudo normal até aí. O problema é o seguinte, se eu escrever algum nome que não contenha neste dropdown, a form vai passar e ele irá salvar normalmente no banco, gerando muito problema.
       
      Como posso criar este tipo de verificação? Impedindo que o usuário então consiga passar escrevendo algo que não existe no banco?
       
      ps. Dá pra fazer a verificação se o nome existe depois que se envia a form e, caso não exista, retorna com erro. Mas eu acho muito amador isto, seria melhor o sistema já de cara não permitir.
       
      obrigado!
    • Por Miojohn
      Olá, boa tarde!
       
      Eu estou tendo um problema que eu não to sabendo resolver. Eu não sei programar em JQuery ou Ajax, mas pretendo começar a aprender. Como que eu posso fazer pra fazer com que o seguinte código em PHP funcione em Ajax ou JS? Qual das suas opções é melhor pra realizar essa ação de "Curtir"?

       
      <li>       <form action="like-post.php" method="post">       <button name="id" value="<?= $post["id"] ?>" class="like-post">Like</button>       </form>                      </li> <li class="likes">       <?php        echo $post["likes"];       ?> </li> Código da página like-post: 
      include("header.php"); include("conecta.php"); include("functions.php"); $id = $_POST['id']; like($conecta, $id); header("Location: index.php"); die(); O que eu quero fazer é com que esse botão assim que clicado ele adicione mais uma curtida ao post. Agradeço desde já!
    • Por Sergio Paiva
      Bom dia! 
      Estou tentando implementar o Datatables em uma tabela carregada por Ajax. O problema parece ser que o ID da tabela carrega não é acessível 
      na página principal. Alguém poderia me dar uma ajuda! 
       
      HTML Pagina Principal:
            
      <form action="gravafusivelnew.php" method="POST" name="formulario" id="formulario" class="form-horizontal"> <div class="form-group"> <label class="control-label col-sm-2" for="descricao">Projeto</label> <div class="col-sm-4"> <select class="form-control" name="codigo_projeto" id="codigo_projeto" onChange="javascript:jxGet3('conteudo')" required > <?include('conn.php'); //conexao com o banco?> <option value="X">Selecione um...</option> <?$sql = "SELECT * FROM projetos"; $resultado = mysql_query($sql); $num_results = mysql_num_rows($resultado); while($row = mysql_fetch_array($resultado)) :?> <option value="<?=$row['codigo']?>"> <?=$row['descricao']?> </option> <?endwhile; ?> </select> </div> </div> </form>
       
      Pagina Carregada via Ajax   
      <script> $(document).ready(function() { $('#tabela2').DataTable( { initComplete: function () { var coluna_filtro = 0; this.api().columns().every( function (mostra) { var column = this; coluna_filtro += 1; if (coluna_filtro==4 || coluna_filtro==1){ var select = $('<select><option value=""></option></select>') .appendTo( $(column.footer()).empty() ) .on( 'change', function () { var val = $.fn.dataTable.util.escapeRegex($(this).val()); column .search( val ? '^'+val+'$' : '', true, false ) .draw(); } ); column.data().unique().sort().each( function ( d, j ) { select.append( '<option value="'+d+'">'+d+'</option>' ) } ); } } ); } } ); } ); </script> <table id="tabela2" class="table table-striped table-bordered table-condensed" style="margin-bottom:0px;"> <form action="atualizafusiveis.php" method="POST" name="formulario" id="formulario" class="form-horizontal"> <thead> <?echo "<tr> <th width='35%' style='vertical-align: middle'> <h6><strong><center>Descrição</center></strong></h6> </th> <th width='15%' style='vertical-align: middle'> <h6><strong><center>Disciplina</center></strong></h6> </th> <th width='10%' style='vertical-align: middle'> <h6><strong><center>Valor de Referência</center></strong></h6> </th> </tr>" ;?> </thead> <tfoot> <?echo "<tr> <th width='35%' style='vertical-align: middle'> <h6><strong><center>Descrição</center></strong></h6> </th> <th width='15%' style='vertical-align: middle'> <h6><strong><center>Disciplina</center></strong></h6> </th> <th width='10%' style='vertical-align: middle'> <h6><strong><center>Valor de Referência</center></strong></h6> </th> </tr>" ;?> </tfoot> <tbody> <th style="vertical-align: middle"> <h6><?=$row['descricao'];?></h6> </th> <th style="vertical-align: middle"> <h6><div align="center"><?=$row['disciplina'];?></div></h6> </th> <th style="vertical-align: middle"> <h6><div align="center"><?=str_replace(".",",",$row['valor_maximo'])?></div></h6> </th> </tbody> Ajax - JavaScript
       
      function jxGet3(view,val1){ val1 = document.getElementById("codigo_projeto").value; // url = antiCacheRand("ajax3.php?view="+view+"&val1="+val1); url = antiCacheRand("consulta_fusiveisnew1.php?val1="+val1); createHttpRequest(); http_request.onreadystatechange = function() { document.getElementById(view).innerHTML="<div align=\"center\"><img align=\"center\" src=\"loading.gif\" border=\"0\"></div>"; var state=http_request.readyState; var result, description; //alert(state); if(state==4){ //completo if (http_request.status == 200){ //pedido respondido com sucesso var pesquisa = /\r\n/g; resultError=http_request.responseText; result= resultError.replace(pesquisa, ""); document.getElementById(view).innerHTML=result; }//se o pedido respondido com sucesso }//critica de state };//abre http_request http_request.open("GET", url, true); http_request.send(null); }  
    • Por edupoli
      Olá
      Antes de tudo gostaria de dizer que sou leigo em Ajax, JavaScript e PHP. O meu problema é o seguinte:
      Existe um site https://www.scipiracicaba.com.br esse site é de uma empresa na qual estou trabalhando, e estou desenvolvendo um site especifico para minha equipe de trabalho que é o http://scilondrina.com.br.
      Ocorre que no meu site eu preciso "copiar" toda a estrutura de validações do formulário de cadastro do site https://scipiracicaba.com.br pois tenho que seguir a mesma regra de negócios da empresa de Piracicaba.
      Usando o wget eu fiz uma cópia total do site e existe um arquivo "cadastro-script.js" onde estão todas as funções de validação do cadastro.
      O que eu fiz foi chamar scritp no head da pagina <script language="javascript" src="scripts\cadastro-script.js"></script> e ir chamando as funções de validação nos devidos campos.
      Entretanto, no arquivo cadastro-script.js existem algumas requisições Ajax e nenhuma esta funcionando na minha pagina.
      Olhando no Navegador Mozila Developer aparece a seguinte mensagem:
      Requisição cross-origin bloqueada: A política de mesma origem (Same Origin Policy) impede a leitura do recurso remoto em https://www.scipiracicaba.com.br/cadastro-novo-verificar-cpf. (Motivo: o cabeçalho CORS 'Access-Control-Allow-Origin' não está presente).
      Já pesquisei muito sobre esse CORS e não consegui liberar. Por favor alguém me ajude!
      Segue arquivos para vocês analisarem 
      http://www.scilondrina.com.br/arquivos.rar
              
             Ficarei muito grato se puderem me ajudar