Ir para conteúdo

POWERED BY:

Arquivado

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

Neader

[Resolvido] Passagem de Parâmetros

Recommended Posts

Olá pessoal, comecei a programar em WEB a pouco tempo e ainda estou muito pau, to com um problema aqui no meu sistema e vo tentar explicar para ver se alguem pode me ajudar.

 

Vamos la, estou usando script ajax para abrir uma pagina JSP dentro de uma div, essa tela é uma tela de cadastros, e possui alguns textfields para o usuario preencher com suas informações. O problema é que quando eu dou submit no form para passar os parâmetros para a outra pagina JSP que os salva, os parâmetros vão nulos.

Então, por favor, se alguém souber como fazer para passar esses parâmetros para a outra pagina JSP, me ajude.

Compartilhar este post


Link para o post
Compartilhar em outros sites
O problema é que quando eu dou submit no form para passar os parâmetros para a outra pagina JSP que os salva, os parâmetros vão nulos.

mostra algum codigo ai.. pq só assim fica impossível adivinhar onde você errou.

 

o submit é feito com o comportamento default ? ou você tá enviando com javascript também ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

ajax.js:

function GetXMLHttp() {
if(navigator.appName == "Microsoft Internet Explorer") {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else {
xmlHttp = new XMLHttpRequest();
}
return xmlHttp;
}

var xmlRequest = GetXMLHttp();


instrucao.js:

function abrirPag(valor){
  var url = valor;

  xmlRequest.open("GET",url,true);
  xmlRequest.onreadystatechange = mudancaEstado;
  xmlRequest.send(null);

  if (xmlRequest.readyState == 1) {
  document.getElementById("conteudo").innerHTML = "<img src='loader.gif'>";
  }

  return url;
  }

  function mudancaEstado(){
  if (xmlRequest.readyState == 4){
  document.getElementById("conteudo").innerHTML = xmlRequest.responseText;
}
}

 

CCustos.jsp

 

<%@ page contentType="text/html; charset=iso-8859-1" language="java" import="com.sistema.controle.*" import=" java.sql.*" errorPage="" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%
    Boolean logado = (Boolean) session.getAttribute("Logado");
    if(logado != null){
       if(logado==false){
%>
       <jsp:forward page="login.jsp" />
<%
       }else{
%>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link href="css/alinhamento.css" rel="stylesheet" type="text/css" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script language="javascript" src="scripts/ajax.js"></script>
<script language="javascript" src="scripts/instrucao.js"></script>
<script language="javascript">
history.back();
</script>

<title>JSP PAGE</title>
</head>

<body>

<form id="frmInserirUsuario" name="frmInserirUsuario" method="POST" action="javascript: abrirPag('cadastroCustos.jsp')" onsubmit="return validacaoform(this);">

   <fieldset>

   <legend align="center">Cadastros de Custos</legend>

   <label for="tf_codigo">Código.:</label>
   <input name="tf_codigo" type="text" id="tf_codigo" size="11" maxlength="11" /><br />

   <label for="tf_descricao">Descrição.:
   </label>
   <input name="tf_descricao" type="text" id="tf_descricao" size="40" maxlength="40" /><br />

   <label for="tf_grupo">Grupo.:</label>
   <input name="tf_grupo" type="text" id="tf_grupo" size="6" maxlength="6" /><br /> <br />


   <input type="submit" name="gravar" id="gravar" value="Cadastrar" />
   <input type="reset" name="Limpar" id="Limpar" value="Cancelar" />
   </fieldset>

</form>

<%}
 }else{%>
    <jsp:forward page="login.jsp" />
    <%}%>
</body>
</html>

 

 

cadastroCustos.jsp

 

<%@ page contentType="text/html; charset=iso-8859-1" language="java" import="com.sistema.controle.*" import=" java.sql.*" errorPage="" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  "http://www.w3.org/TR/html4/loose.dtd">

<html>
   <head>
       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
       <script language="javascript">
           function voltar(){
               history.back();
           }
       </script>
       <title>JSP Page</title>
   </head>
   <body>
       <%

   int status = 0;
   String codigo = new String();
   String descricao = new String();
   String grupo = new String();

   codigo = request.getParameter("tf_codigo");
   descricao = request.getParameter("tf_descricao");
   grupo = request.getParameter("tf_grupo");

   out.println(codigo);
   out.println(descricao);
   out.println(grupo);

   ctrlCustos custos = new ctrlCustos();

   //custos.getCustos().setCodigo(Integer.parseInt(codigo));
   //custos.getCustos().setDescricao(descricao);
   //custos.getCustos().setGrupo(Integer.parseInt(grupo));

   //status = custos.getCustos().CadastraCustos();

   //if(status>0)
%>

   </body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso aqui:

 

action="javascript: abrirPag('cadastroCustos.jsp')"

 

não faz nenhum sentido, está completamente equivocado.

 

veja uma forma de fazer:

http://forum.imasters.com.br/topic/393224-fazer-tudo-na-div-idconteudo/

Compartilhar este post


Link para o post
Compartilhar em outros sites

então coloquei action="javascript: abrirPag('cadastroCustos.jsp')" poder abrir a pagina dentro da div conteudo e é ai que da pau, póis o que foi digitado nos extfields não sao passado. Mas se coloco apenas action="cadastroCustos.jsp" da tudo certo, os parametros sao passados certinhos porém a tela na abre dentro da div conteudo.

 

tava olhando esse link que você passou, mas to perdido demais.

Compartilhar este post


Link para o post
Compartilhar em outros sites

você precisa fazer o envio com ajax, e não simplesmente 'abrir'.

 

Por isso que o action não faz sentido.

Faça a requisição ajax, serializando os campos, e previna o comportamento default do formulario, até com um return false;

 

a solução está alí. Esqueça esse action que você fez.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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