Boa noite GUJ’S,
estou fazendo meu TG e estou com uma dificuldade, tenho uma pagina de cadastro que contem um campo CNPJ/CPF com um radio onde irá escolher entre um ou outro.
onde cnpj_cpfPatrocinador o mesmo nome no meu BD, onde irá receber o valor vindo
Então, não estou conseguindo enviar este valor para o BD, me passa null
Tenho que passar o valor ao BD podendo ou não ser passado com a mascara,
tenho ainda uma outra parte, caso eu queira editar…
tenho a;
como o do cpf/cnpj é diferente, tem um jquery(mascara) tem estes valores…
não estou sabendo colocar o cnpj_cpfPatrocinador no local exato pra poder receber e enviar pro BD.
Vc ta obtendo um parametro enviado chamado cnpj_cpfPatrocinador, correto?
No jsp, tem que ter um name=“cnpj_cpfPatrocinador” pra ser enviado algo com este nome, concorda?
O seu cadastrar.jsp tá confuso. vc tem um campo radio pra selecionar se eh cpf ou cnpj. E depois um campo texto para informar um CPF(se tiver marcado um CPF no radio) ou um CNPJ (para preencher com um cnpj, caso tenha marcado cnpj no radio). É isso mesmo?
então, ai que esta, eu tenho o script que tem a opção do radio, se for cnpj ele abre o textbox com a mascara de cnpj, se for cpf ele faz o mesmo
na minha controller se eu colocar o valor cnpj e fizer o cadastro do cnpj, ele da certo, mais se fizer desta forma e eu marcar o cpf ele me passa null
e vice versa… já tentei colocar o meu cnpj_cpfPatrocinador em varios cantos pra ver se dava certo e não deu até o momento…
não sei se terei que criar uma varialvel pra receber o valor e passar ele depois… não sei…
Este codigo eu peguei na net, ele faz tudo direito, insere a mascara conforme escolhido,
só o valor que tem que ser guardado ele não da certo…
já tentei mudar este valor da id e colocar o cnpj_cpf_patrocinador mais não vai
A controller é sim uma implementação HttpServlet, utilizo o getParameter para rceber os dados
public class CadastrarPatrocinador extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String nomePatrocinador = request.getParameter("nomePatrocinador");
String enderecoPatrocinador = request.getParameter("enderecoPatrocinador");
[color=red] String cnpj_cpfPatrocinador = request.getParameter("cnpj_cpfPatrocinador");//..<- se eu mudar aqui o valor e colocar cnpj, ele me traz o valor do cnpj [/color]
System.out.println("Valor: " + cnpj_cpfPatrocinador);//...verificar o que esta me trazendo
String mensagem = null;
Patrocinador patrocinador = new Patrocinador();
patrocinador.setNomePatrocinador(nomePatrocinador);
patrocinador.setEnderecoPatrocinador(enderecoPatrocinador);
patrocinador.setCnpj_cpfPatrocinador(cnpj_cpfPatrocinador);
try {
GenericDAO dao = new PatrocinadorDAOImpl();
if (dao.cadastrar(patrocinador)) {
mensagem = "Patrocinador " + patrocinador.getNomePatrocinador() + " Cadastrado com sucesso!!";
} else {
mensagem = "problemas ao cadastrar Patrocinador! Confira os dados digitaos...";
}
request.setAttribute("mensagem", mensagem);
request.getRequestDispatcher("indexAdministrador.jsp").forward(request, response);
} catch (Exception ex) {
System.out.println("Problema no Servlet ao cadastrar Patrocinador! Erro: " + ex.getMessage());
}
}
A geração de inserir o campo automática sua está funcionando?
parece que não.
Você tem um campo predefinido
Por isso, quando vc dá um getParameter(“cnpj”) realmente vai funcionar.
A primeira coisa é… quando vc ta clicando no radio, ele ta gerando o campo? Vc sabe olhar via firebug qual o nome e id desse campo que ta sendo gerado?
O problema todo é … não existe <input type="text" name="cpf" /> no seu código. Parece que o jquery não tá gerando ele corretamente.
Vc utiliza o chrome?
Clica no elemento gerado (no textbox) com botão direito, e depois em inspecionar elemento… após clicar no radio CPF e veja qual o NAME que ele gerou?
Vc tem que entender a logica do programa.
Ele gera um elemento do tipo inputtext, que tem um name. Além disso vc sabe se eh cpf ou cnpj de acordo com o radio.
Entao a logica eh assim…
1- obtem valor do elemento do radio (com isso vc sabe se foi selecionado cpf ou cnpj)
2- testa… se elemento for cpf, obtem um parametro com o nome do elemento gerado do tipo cpf
senao, se for cnpj, obtem um parametro com o nome do elemento gerado do tipo cnpj
Mas faça aí a primeira parte que te disse que chegaremos depois nos passos 1 e 2.
cliquei na radio cpf ele abriu a mascara e eu fiz como solicitou e me apareceu este valor
input#cpf
testei da mesma forma o cnpj e me mostrou
input#cnpj
quando eu seleciono a opção desejada ele abre no texbox a mascara, eu clico no textbox com o direito do mouse
inspecionar elemento e ele só me mostra aquele valor, não mais