Publicidade

Leo - gaviaoshow

Validar dados após envio de ajax no java

Patrocínio:

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 lipesym
      Após fazer um post via webservice o sistema me retorna o pdf da nota fiscal em codigo binário convertido em hexadecimal...
      Eu preciso salvar esse arquivo...
       
      Eu recebo ele e converto para binário porém preciso salvar esse código binário como arquivo...
       
      Alguém ai sabe como faço? já tentei de diversas maneiras mas não encontrei nenhuma solução
    • Por lipesym
      Estou tentando fazer um post de uma xml gerada em meu sistema, porém o sistema exige que eu envie ela codificada com o sistema base 64 até ai tudo bem.
       
      Porém ao fazer o post o Base 64 usa o sinal de + quando dispara o post codificado na string o sistema retira o sinal de + alterando assim completamente o documento enviado.
       
      Exemplo eu disparo nQ+MjAxNy0wMy0yMlQxNDoxMzoxNi0wMjowMDwvZGhTYWlFbnQ+PHRwTkY+MT
       
      Porém do outro lado recebe nQ MjAxNy0wMy0yMlQxNDoxMzoxNi0wMjowMDwvZGhTYWlFbnQ PHRwTkY MT
       
      Portanto altera totalmente o resultado....
       
      Alguém sabe como fazer com que o sinal de + não seja retirado?
       
      Ou conhece outra forma de envio que não altere a string?
       
      set xmlhttp = server.Createobject("MSXML2.ServerXMLHTTP") xmlhttp.Open "POST",link,false xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded" xmlhttp.send (xmlbase64)
    • Por JullySL
      Boa tarde! 

      Gostaria da ajuda de vocês, fiz um autocomplete na tela de cadastros de chamados, para quando o usuário estiver cadastrando um um chamado, se for cliente novo ou existente, se ele digitar Maria e tiver 3 Marias cadastradas ele irá selecionar a Maria que se refere o chamado, selecionando a Maria existente quando ele pressionar para o próximo campo eles serão autopreenchidos com as informações do cliente que está na base de dados, porém quando o cliente não existir apenas dar continuidade ao cadastro. O Problema do meu código é:
      Tenho cadastrado no cadastro de clientes:
      Cliente1: Maria Santos
      Cliente 2: Maria Virginia
      Se eu selecionar Maria Virginia ele trás os dados tanto da Maria Santos quanto da Maria Virginia,sendo que se eu selecionei Maria Virginia não tem por que ele trazer dados de outro cliente certo?! segue script
      Crontroller:
       
      Controller
      [HttpGet]         public ActionResult Index()         {             return View();         }         [HttpPost]         public JsonResult Index(string Prefix)         {             ClienteAplicacao appCliente = new ClienteAplicacao();             var ListarCliente = appCliente.ListaTodos();                          var ClienteNome = (from N in ListarCliente                                where N.Nome.StartsWith(Prefix)                                select new { N.Nome, N.Id, N.Email });             return Json(ClienteNome, JsonRequestBehavior.AllowGet);         }         public JsonResult ClienteList(string Id)         {             ClienteAplicacao appCliente = new ClienteAplicacao();             var ListaCliente = appCliente.ListaTodos();                         var resultado = (from c in ListaCliente                              where (c.Nome.ToLower().Contains(Id.ToLower()))                              select c).ToList();                    return Json(resultado, JsonRequestBehavior.AllowGet);         } Jquery
       
         
       $(document).ready(function () {         $("#Nome").autocomplete({             source: function (request, response) {                 $.ajax({                     url: "/Autocom/Index",                     type: "POST",                     dataType: "json",                     data: { Prefix: request.term },                     success: function (data) {                         response($.map(data, function (item) {                             return {                                 label: item.Nome + ", " + item.Email,                                 value: item.Nome                                                              };                             //return data;                          }))                         $('#Nome').blur(function () {                             var aChk = document.getElementsByName('Nome');                             var texto = texto + (aChk.value)                             $('#lbairro').val(texto);                             alert(texto);                             $.getJSON('/Autocom/ClienteList/' + $('#Nome').val(), function (data) {                                 var items = '';                                 $.each(data, function (i, cliente) {                                                                          items += 'E-mail:<input type="email" id="Email" name="Email" value="' + cliente.Email + '" class="txtInputMax" />';                                                                      });                                                                  $('#rData').html(items);                             });                         })                     }                 })             },                      });              })

      Formulário

       
      <input id="NomeCliente" name="NomeCliente" type="hidden" value="" />     <div>         Nome:         <input name="Nome" id="Nome" type="text" class="txtInputMax" />     </div>     <div class="editor-field" id="rData">             E-mail:             <input name="Email" id="Email" type="text" class="txtInputMax" />     </div> Agradeço quem puder ajudar!
    • Por Caio Marcio de Campo
      Quando tento abrir o StarTeam logo aparece a mensagem "Java_SDK1.8.0_121" is an unrecognized Java VM name. No micro estão instalados O Java e o Java SDK, coloquei-os nas pastas C:\Arquivos de Programas\Componentes\Java\JRE e C:\Arquivos de Programas\Componentes\Java\SDK e não tem em mais nenhum lugar (coloco nestas pastas para não ficar criando um monte delas com nomes de versões). Tenho que fazer alguma alteração específica em algum arquivo do StarTeam? Uso também o Eclipse. O nome Java SDK1.8.0_121 fui eu que coloquei, já tentei JRE, SDK, entre outros ...
    • Por gabrielfalieri
      Boa tarde galera do imasters.
      Eu estou fazendo um select onde preciso preencher um select option com o retorno de um select dinâmico, gerado por ajax.
       
       
      ajax/javascript
      $("#txtCodigoAtivacao").on('change',function(){ var codAtivacao = document.getElementById("txtCodigoAtivacao").value; var result = document.getElementById("cmbDataTreinamento"); var XMLHttp = new XMLHttpRequest(); XMLHttp.open("get", "classes/Crud.php?codAtivacao=" + codAtivacao, true); XMLHttp.onreadystatechange = function () { if (XMLHttp.readyState == 4) if (XMLHttp.status == 200) { result.innerHTML = XMLHttp.responseText; } else { result.innerHTML = "Um erro ocorreu: " + XMLHttp.statusText; } }; XMLHttp.send(null); }); Esse trecho de código, consegue enviar a requisição certinha, e ele retorna para mim o dado que eu quero, só que o preenchimento fica errado.
       
      as divs com o select
      <div class="form-group has-feedback" id="divDataTreinamento"> <label class="control-label">Data do treinamento: <span class="required"> * </span> </label> <select class="form-control" name="cmbDataTreinamento" id="cmbDataTreinamento"> <option>Selecione a data do treinamento</option> <?php foreach($Treinamento->getDates() as $key => $values):?> <option value="<?php echo $values->id_trein_turmas ?> "> <?php echo date("d/m/Y",strtotime($values->data_inicio)); ?> a <?php echo date("d/m/Y",strtotime($values->data_fim)); ?> em <?php echo $values->local ?> - <?php echo $values->assunto; echo " "; echo utf8_encode( $values->tipo); echo " "; echo $values->forma; echo " "; ?>(<?php echo $values->qtd_horas; ?>) - <?php $qtd_vagas = $values->qtd_vagas; if($values->qtd_vagas >= 1){ echo 'Vagas disponíveis'; } else if($values->qtd_vagas_reserva >= 1 && $values->qtd_vagas < 1 ){ echo 'Fila de espera'; }else{ echo 'Esgotado'; } ?> </option> <?php endforeach; ?> </select> <span class="msgDataTreinamento help-block"></span> </div> Quando eu coloco um id no value do select do php, ele fica vazio um campo e o outro retorna o valor que eu preciso, quando eu deixo o id no select, ele fica vazio.
      (imagens anexadas)


      Php do código
      public $codigoAtivacao; abstract public function insert(); public function getDates(){ try{ if(empty($codigoAtivacao)){ $sql = "SELECT id_trein_turmas, data_inicio,data_fim,local,assunto,qtd_horas,tipo,forma,qtd_vagas,qtd_vagas_reserva FROM trein_turmas WHERE data_inicio > current_timestamp() ;"; $stmt = DB::prepare($sql); $stmt->execute(); return $stmt->fetchAll(); }else{ $sql = "SELECT id_trein_turmas, data_inicio,data_fim,local,assunto,qtd_horas,tipo,forma,qtd_vagas,qtd_vagas_reserva FROM trein_turmas WHERE data_inicio > current_timestamp() AND _cod_promocional = '".$codigoAtivacao."';"; $stmt = DB::prepare($sql); $stmt->execute(); return $stmt->fetch(); } }catch (PDOException $ex){ $ex->getMessage(); } }