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 Iskandar
      Boa tarde comunidade iMaster,
       
      Brinco com JS e jQuery já há algum tempo e recentemente desenvolvi um plugin validador de formulários bem prático, e gostaria de pedir que alguém com experiencia e conhecimento nessas linguagens e com algúm tempo livre o testasse e avaliasse, tanto na prática quanto no código mesmo. Se possível, por favor, deixe um feedback com sugestões, apontando erros e melhores práticas.
       
      git: https://gist.github.com/Uunknownn/a4af5e57dd31952229473783d9789ed3
      demo (JSFiddle): https://jsfiddle.net/2zjypzj6/10/
       
      nota: o plugin está em inglês porque eu pretendo futuramente criar um rpg de navegador, mas pode ser facilmente traduzido.
       
      Muito obrigado desde já.
      --
    • Por Jeovane Carvalho
      Olá senhores boa noite, estou enfrentando um pequeno problema para enviar algumas variáveis dentro do java script para um php, e o que acontece, tenho um filtro de busca no site (combobox) com os select FINALIDADE,TIPO,CIDADE, BAIRROS,  e preciso pegar cada ID  destes selects que são vetores (array) e enviar para outro arquivo e pegar via POST...
      Até aí eu consegui ,mas não estou conseguindo enviar todas as variáveis dentro do java , e das 3 que envio só chegam 2 e a última não chega e da UNDEFINED , que seria variável indefenida, e segue os scripts:
       
      <script type="text/javascript"> $(document).ready(function() { $("select").change(function() { var negocio = $("#negocio").val(); alert(negocio); AJAXBAIRROS("Pesq_Bairros","combo_cidades.php?id_negocio="+negocio); var tipos = $("#tipo").val(); alert(tipos); var cidades = $("#cidade").val(); alert(cidades); AJAXBAIRROS("Pesq_Bairros","combo_cidades.php?id_negocio="+negocio,"id_tipo="+tipos,"id_cidade="+cidades); }); }); $(document).ready(function(){ $('select[name=bairro]').click(function(e){ if(document.getElementById('cidade') && document.busca.cidade.value==""){ AJAXBAIRROS("Pesq_Bairros","combo_cidades.php?id_cidade="); }else{ e.preventDefault(); var id_tipo=1; }}); }); </script> Este primeiro script eu fiz algumas adaptações e não sei se esta correto , mas notem que na linha onde esta a URL tem 3 variáveis +negocio + tipos + cidades, mas a última cidade não chega, e seu eu  tirar a primeira que seria negócio a variável cidade chega normalmente , e notem que a chamada deste link é AJAXBAIRROS é chama através deste script abaixo:
       
      ////FUNCAO PRA CRIAR AJAX function createXMLHTTP() { var ajax; try { ajax = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) { try { ajax = new ActiveXObject("Msxml2.XMLHTTP"); alert(ajax); } catch(ex) { try { ajax = new XMLHttpRequest(); } catch(exc) { alert("Esse browser não tem recursos para uso do Ajax"); ajax = null; } } return ajax; } var arrSignatures = ["MSXML2.XMLHTTP.5.0", "MSXML2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP"]; for (var i=0; i < arrSignatures.length; i++) { try { var oRequest = new ActiveXObject(arrSignatures[i]); return oRequest; } catch (oError) { } } throw new Error("MSXML is not installed on your system."); } function AJAXBAIRROS(xDiv, xPagina, xVariaveis){ var ajax = createXMLHTTP(); ajax.open("post", xPagina, true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ajax.onreadystatechange=function(){ if (ajax.readyState==4){ document.getElementById(xDiv).innerHTML = unescape(ajax.responseText. replace(/\+/g," ",/\+/g," ")); } } ajax.send(xVariaveis); } E vendo este script, eu percebi que pode ou não ser por causa das expressões regulares, e sei que precisa aumentar as regras para chamar mais variáveis, não sei se é isso mesmo, mas fiz isso em meu htaccess, mas se puderem me ajudar, desde já eu agradeço...
       
    • Por Simone RSS
      É o seguinte pessoal, preciso listar os registros de uma tabela (banco postgres), em uma página xhtml. 
      Estou usando JSF framework Bootsfaces, o recurso DataTable. 
      Já implementei Classe, Dao , Bean, verifiquei se a busca está correta várias vezes, mas não está listando na página.
      Poderiam me dar uma ajuda com isso?
       
      Página:
      <?xml version='1.0' encoding='UTF-8' ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <ui:decorate xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://xmlns.jcp.org/jsf/html" xmlns:ui="http://xmlns.jcp.org/jsf/facelets" template="template.xhtml" xmlns:b="http://bootsfaces.net/ui" xmlns:p="http://primefaces.org/ui" xmlns:f="http://xmlns.jcp.org/jsf/core"> <ui:define name="title">SIAI - Atendimentos</ui:define> <ui:define name="conteudo"> <b:row styleClass="table-responsive"> <b:row> <b:column col-sm="4" col-md="4" styleClass=""> <h1>Atendimentos</h1> </b:column> <b:column col-sm="2" col-md="2" styleClass=""> </b:column> <b:column col-sm="6" col-md="6" style="padding: 30px 0px 10px 0px;"> <a href="cadastro-atendimento.jsf"><b:button look="info" size="md" value="Novo Atendimento"/></a> <!--O botão Editar abaixo é provisório, funcionando, o sistema vai exibir um ícone 'Editar' para cada ítem de atendimento da lista abaixo--> <a href="editar-atendimento.jsf"><b:button look="info" size="md" value="Editar Atendimento"/></a> </b:column> </b:row> <hr/> <h:form> <h:dataTable styleClass="table table-striped" value="#{atendimentoBean.atendimentos}" var="atendimento" > <h:column> <f:facet name="header"><h:outputText value="ID" /></f:facet> <h:outputText value="#{atendimento.id_atendimento}" /> </h:column> <h:column> <f:facet name="header"><h:outputText value="Jornalista" /></f:facet> <h:outputText value="#{atendimento.jornalista_atendido}" /> </h:column> <h:column> <f:facet name="header"><h:outputText value="Data/Hora" /></f:facet> <h:outputText value="#{atendimento.data_horario_abertura}" /> </h:column> <h:column> <f:facet name="header"><h:outputText value="Emissora" /></f:facet> <h:outputText value="#{atendimento.emissora}" /> </h:column> <h:column> <f:facet name="header"><h:outputText value="Situação" /></f:facet> <h:outputText value="#{atendimento.status}" /> </h:column> </h:dataTable> </h:form> </b:row> </ui:define> </ui:decorate> Classe entidade:
      package br.org.hu.sistemaatendimentoimprensa.negocio; import java.util.Date; public class Atendimento { private int id_atendimento; private Date data_horario_abertura; private String status; private Date data_hora_encerramento; private String resumo_pauta; private String inspiracao; private String assunto; private String informacoes; private String tipo_entrevista; private String emissora; private String programa; private String jornalista_atendido; private String usuario_logado; public Atendimento(){ } public void cadastrarAtendimento() { } public void editarAtendimento() { } public Date getData_horario_abertura() { return data_horario_abertura; } public void setData_horario_abertura(Date data_horario_abertura) { this.data_horario_abertura = data_horario_abertura; } public Date getData_hora_encerramento() { return data_hora_encerramento; } public void setData_hora_encerramento(Date data_hora_encerramento) { this.data_hora_encerramento = data_hora_encerramento; } public String getUsuario_logado() { return usuario_logado; } public void setUsuario_logado(String usuario_logado) { this.usuario_logado = usuario_logado; } public String getStatus() { return status; } public void setStatus(String status) { this.status = status; } public String getJornalista_atendido() { return jornalista_atendido; } public void setJornalista_atendido(String jornalista_atendido) { this.jornalista_atendido = jornalista_atendido; } public String getEmissora() { return emissora; } public void setEmissora(String emissora) { this.emissora = emissora; } public String getPrograma() { return programa; } public void setPrograma(String programa) { this.programa = programa; } public String getResumo_pauta() { return resumo_pauta; } public void setResumo_pauta(String resumo_pauta) { this.resumo_pauta = resumo_pauta; } public String getTipo_entrevista() { return tipo_entrevista; } public void setTipo_entrevista(String tipo_entrevista) { this.tipo_entrevista = tipo_entrevista; } public String getInspiracao() { return inspiracao; } public void setInspiracao(String inspiracao) { this.inspiracao = inspiracao; } public String getAssunto() { return assunto; } public void setAssunto(String assunto) { this.assunto = assunto; } public String getInformacoes() { return informacoes; } public void setInformacoes(String informacoes) { this.informacoes = informacoes; } public int getId_atendimento() { return id_atendimento; } public void setId_atendimento(int id_atendimento) { this.id_atendimento = id_atendimento; } @Override public int hashCode() { int hash = 7; hash = 13 * hash + this.id_atendimento; return hash; } @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (getClass() != obj.getClass()) { return false; } final Atendimento other = (Atendimento) obj; if (this.id_atendimento != other.id_atendimento) { return false; } return true; } public void getData_abertura(String string) { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } public void getResumo_pauta(String string) { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } }  
      Classe Bean (tentem considerar apenas o listar()):
      package br.org.hu.sistemaatendimentoimprensa.beans; import br.org.hu.sistemaatendimentoimprensa.dao.AtendimentoDAO; import br.org.hu.sistemaatendimentoimprensa.negocio.Atendimento; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import javax.faces.bean.ManagedBean; import javax.faces.bean.SessionScoped; @ManagedBean @SessionScoped public class AtendimentoBean { private Atendimento atendimento = new Atendimento(); public List<Atendimento> atendimentos = new ArrayList<>(); public AtendimentoBean() { } public void adicionar() throws SQLException{ AtendimentoDAO dao = new AtendimentoDAO(); dao.adicionar(atendimento); atendimento = new Atendimento(); } public void listar() throws SQLException { AtendimentoDAO AtendimentoDao = new AtendimentoDAO(); atendimentos = AtendimentoDao.buscar(); } public void selecionarEditar(Atendimento a){ Atendimento atend = new Atendimento(); atend = a; } public void editar() throws SQLException{ AtendimentoDAO dao = new AtendimentoDAO(); dao.alteraDAO(atendimento); atendimento = new Atendimento(); } public Atendimento getAtendimento() { return atendimento; } public List<Atendimento> getAtendimentos() { return atendimentos; } public void setAtendimentos(List<Atendimento> atendimentos) { this.atendimentos = atendimentos; } public void setAtendimento(Atendimento atendimento) { this.atendimento = atendimento; } //------------------------------------------------------------------------ // a variável e os métodos abaixo serviram para testar o funcionamento da estrutura String msg; public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } public void exibeDados() { msg = atendimento.getJornalista_atendido() + " -- " + atendimento.getEmissora()+ " -- " + atendimento.getPrograma()+ " -- " + atendimento.getResumo_pauta()+ " -- " + atendimento.getTipo_entrevista()+ " -- " + atendimento.getInspiracao()+ " -- " + atendimento.getAssunto()+ " -- " + atendimento.getInformacoes(); } //------------------------------------------------------------------------------------------- } //package br.org.hu.sistemaatendimentoimprensa.beans; // //import br.org.hu.sistemaatendimentoimprensa.dao.AtendimentoDAO; //import br.org.hu.sistemaatendimentoimprensa.negocio.Atendimento; //import java.sql.SQLException; //import java.util.ArrayList; //import java.util.List; //import javax.faces.bean.ManagedBean; //import javax.faces.bean.SessionScoped; // // // //@ManagedBean //@SessionScoped //public class AtendimentoBean { // // private Atendimento atendimento = new Atendimento(); // public List<Atendimento> atendimentos = new ArrayList<>(); // // public AtendimentoBean() // { // // } // // public void adicionar() throws SQLException{ // AtendimentoDAO dao = new AtendimentoDAO(); // dao.adicionar(atendimento); // atendimento = new Atendimento(); // } // // public void listar() throws SQLException { // AtendimentoDAO dao = new AtendimentoDAO(); // atendimentos = dao.buscar(); // } // // public void selecionarEditar(Atendimento a){ // Atendimento atend = new Atendimento(); // atend = a; // } // // public void editar() throws SQLException{ // AtendimentoDAO dao = new AtendimentoDAO(); // dao.alteraDAO(atendimento); // atendimento = new Atendimento(); // } // // public Atendimento getAtendimento() { // return atendimento; // } // // public void setAtendimento(Atendimento atendimento) { // this.atendimento = atendimento; // } // // // // // //------------------------------------------------------------------------ // // a variável e os métodos abaixo serviram para testar o funcionamento da estrutura // String msg; // // public String getMsg() { // return msg; // } // // public void setMsg(String msg) { // this.msg = msg; // } // // public void exibeDados() // { // msg = atendimento.getJornalista_atendido() + " -- " + // atendimento.getEmissora()+ " -- " + // atendimento.getPrograma()+ " -- " + // atendimento.getResumo_pauta()+ " -- " + // atendimento.getTipo_entrevista()+ " -- " + // atendimento.getInspiracao()+ " -- " + // atendimento.getAssunto()+ " -- " + // atendimento.getInformacoes(); // } // //------------------------------------------------------------------------------------------- // // //}  
       
      Classe DAO (Considerem apenas o buscar()) :
       
      package br.org.hu.sistemaatendimentoimprensa.dao; import br.org.hu.sistemaatendimentoimprensa.negocio.Atendimento; import br.org.hu.sistemaatendimentoimprensa.util.FabricaConexao; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; /** * * @author Simone */ public class AtendimentoDAO { public void adicionar(Atendimento atendimento) throws SQLException { Connection conexao = FabricaConexao.getConexao(); String sql = "INSERT INTO atendimento.atendimento(data_abertura, resumo_pauta, assunto, status,informacoes_passadas," + "tipo_entrevista,emissora_id_emissora, jornalista_id_jornalista)\n" + " VALUES (?,?,?,?,?,?,?,?)"; try { PreparedStatement st = conexao.prepareStatement(sql); //st.setDate(1, atendimento.getData_abertura()); st.setString(2, atendimento.getResumo_pauta()); st.setString(3, atendimento.getAssunto()); atendimento.setStatus("Ativo"); st.setString(4, atendimento.getStatus()); st.setString(5, atendimento.getInformacoes()); st.setString(6, atendimento.getTipo_entrevista()); st.setString(7, atendimento.getEmissora()); st.setString(8, atendimento.getJornalista_atendido()); //executa st.execute(); st.close(); } catch (SQLException e) { throw new RuntimeException(e); } } public List<Atendimento> buscar() throws SQLException { try{ Connection conexao = FabricaConexao.getConexao(); List<Atendimento> atendimentos = new ArrayList<>(); PreparedStatement st = conexao.prepareStatement("select * from atendimento.atendimento"); ResultSet rs = st.executeQuery(); while (rs.next()) { Atendimento atendimento = new Atendimento(); atendimento.setId_atendimento(rs.getInt("id_atendimento")); atendimento.setData_horario_abertura(rs.getDate("data_horario_abertura")); atendimento.setStatus(rs.getString("status")); atendimento.setData_hora_encerramento(rs.getDate("data_hora_encerramento")); atendimento.setResumo_pauta(rs.getString("resumo_pauta")); atendimento.setInspiracao(rs.getString("inspiracao")); atendimento.setAssunto(rs.getString("assunto")); atendimento.setInformacoes(rs.getString("informacoes")); atendimento.setTipo_entrevista(rs.getString("tipo_entrevista")); atendimento.setEmissora(rs.getString("emissora_id_emissora")); atendimento.setPrograma(rs.getString("programa_id_programa")); atendimento.setJornalista_atendido(rs.getString("jornalista_id_jornalista")); atendimento.setUsuario_logado(rs.getString("usuario_id_usuario")); atendimentos.add(atendimento); } return atendimentos; }catch(SQLException e){ Logger.getLogger(AtendimentoDAO.class.getName()).log(Level.SEVERE, null, e); return null; } } public void alteraDAO(Atendimento atendimento) throws SQLException { Connection conexao = FabricaConexao.getConexao(); String sql = "UPDATE atendimento.jornalista set data_abertura=?, resumo_pauta=?, assunto=?, status=?,informacoes_passadas=?," + "tipo_entrevista=?,emissora_id_emissora=?, jornalista_id_jornalista=? where id_atendimento=? "; try { PreparedStatement st = conexao.prepareStatement(sql); //st.setString(1,atendimento.getData_abertura()); st.setString(2,atendimento.getResumo_pauta()); st.setString(3,atendimento.getAssunto()); st.setString(4,atendimento.getStatus()); st.setString(5,atendimento.getInformacoes()); st.setString(6,atendimento.getTipo_entrevista()); st.setString(7,atendimento.getEmissora()); st.setString(8,atendimento.getJornalista_atendido()); st.setInt(9,atendimento.getId_atendimento()); st.execute(); st.close(); } catch (SQLException e) { throw new RuntimeException(e); } } }  
    • Por PRWEB
      Boa tarde!
       
      Estou tentando fazer funcionar essa função mais não estou conseguindo.
      var tempo_seg = 5 // Tempo em segundos var tempo_ms = tempo_seg * 1000 // Tempo em milésimos de segundo function Atualiza(no_oe) { goAjax("ef_altera_o_e.asp?no_oe=" + no_oe) setTimeout("Atualiza()", tempo_ms) } function goAjax(url) { xmlhttp = new XMLHttpRequest() xmlhttp.open("GET", url, true) xmlhttp.onreadystatechange = function() { if (xmlhttp.readyState==4) { retorno = xmlhttp.responseText divisao = document.getElementById("divisao_refresh") divisao.innerHTML = retorno } } xmlhttp.send(null) } <body scrol="auto" onload="Atualiza()"> Mas fica dando esse erro:
      TypeError: divisao is null[Learn More]
       
      O que preciso é que quando digito informações em um determinado campo salva automaticamente sem dar refresh na pagina.
       
      Agradeço muito pela atenção e ajuda!
       
      Obrigado
       
      Paulo Rogério