AJAX + JSP - Erro pegar valor do campo

4 respostas
bileia

Pessoal - estou pegando os dados de um formulário que está em uma DIV e mandando para o banco (MYSQL).
Os campos usuario e senha estão corretos, porém, o campo idpermissao não captura.
Alguém poderia olhar meu código e ver se tem algo errado?

======== Funcão =======

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script><!-- pega o script direto do google, melhor-->

        <script type="text/javascript">
            $(document).ready(function() {
                $("#carregando").ajaxStart(function(){ $(this).html('Cadastrando . . .'); });

                $('#cadastro').click(function() {
                    var idpermissao = $('#idpermissao').val();
                    var usuario = $('#usuario').val();
                    var senha    = $('#senha').val();

                    $.post('exemploMenu.jsp',	{ idpermissao:idpermissao, usuario:usuario, senha:senha, submit:"Cadastrar" }, function(data, textStatus) {
                        $('#carregando').html('');
                        
                        
                    });
                    return false;
                });
               
                $("#carregando").ajaxStart(function(){ $(this).html('Sucesso . . .'); });
                
            });
        </script>

====== Formulário ======

<div id="carregando"></div> <!--  pra indicar o q ta acontecendo -->
            <div id="Cadastro">
                <form id="form1" name="form1" method="post" action="exemploMenu.jsp">
                    IDPermissao:
                    &lt;input id="idpermissao" size="10px" name="idpermissao" type="text" value=""&gt;<br/><br/>
                    Usuário:
                    &lt;input id="usuario" size="25px" name="usuario" type="text" value=""&gt;<br/><br/>
                    Senha:
                    &lt;input id="senha" size="25px" name="senha" type="password" value=""&gt;<br/><br/>
                    &lt;input id="cadastro" class="input-btn" type="button" name="submit" value="Cadastrar"&gt;

                &lt;/form&gt;
     &lt;/div&gt;

=====Retorno SQL =====

insert into usuario(idpermissao,login,senha) values('0','login', 'senha')

4 Respostas

dev.rafael

Desculpe mas, onde vc usou JSF ai?

bileia

Corrigido!

davidbuzatto

Oi bileia,

Se seu campo id for autoincremento, vc não precisa informá-lo no insert, pq quem vai incrementá-lo é o banco, não vc.
Então, o campo id vai ser usado apenas na alteração (update) ou na exclusão (delete).

A persistência está ocorrendo no exemploMenu.jsp? Poste o código para a gente dar uma olhada.
Se você vai usar apenas jsps na sua aplicação, recomendo que a parte de persistência seja feita em Servlets ao invés de jsps.

[]´s

bileia
<%@page import="entidade.*" %>
<%@page import="controle.*" %>
<%@page import="modelo.*" %>

<%@page contentType="text/html" pageEncoding="UTF-8"%>

<jsp:useBean id="user" scope="request" class="entidade.usuario" />
<jsp:setProperty name="user" property="*" />

<% usuarioAction control = new usuarioAction(user);
            control.action(request.getParameter("submit"));
            usuario us = control.getUsuario();
%>

<html>

    <head>
        <title>Manutenção</title>
        <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
        <link rel="stylesheet" href="menu/css/estilo.css" type="text/css" />
        <script language="JavaScript" src="menu/js/jquery-1.3.2.js" type="text/javascript"></script>
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>

        <script type="text/javascript">
            $(document).ready(function() {
                $("#carregando").ajaxStart(function(){ $(this).html('Cadastrando . . .'); });

                $('#cadastro').click(function() {
                    var idpermissao = $('#idpermissao').val();
                    var usuario = $('#usuario').val();
                    var senha    = $('#senha').val();

                    $.post('exemploMenu.jsp',	{ idpermissao:idpermissao, usuario:usuario, senha:senha, submit:"Cadastrar" }, function(data, textStatus) {
                        $('#carregando').html('');
                                             
                    });
                    return false;
                });
               
                $("#carregando").ajaxStart(function(){ $(this).html('Sucesso . . .'); });
                
            });
        </script>
.
.
.
<div id="Mestra">
            
            <div id="carregando"></div> <!-- só pra indicar o q ta acontecendo -->
            <div id="Cadastro">
                <form id="form1" name="form1" method="post" action="exemploMenu.jsp">
                    IDPermissao:
                    <input id="idpermissao" size="10px" name="idpermissao" type="text" value=""><br/><br/>
                    Usuário:
                    <input id="usuario" size="25px" name="usuario" type="text" value=""><br/><br/>
                    Senha:
                    <input id="senha" size="25px" name="senha" type="password" value=""><br/><br/>
                    <input id="cadastro" class="input-btn" type="button" name="submit" value="Cadastrar">

                </form>
            </div>
</body>

</html>

O idpermissao não é autoincremento…
Quando eu testo o código sem a função, pega todos os campos, quando uso a função pega somente o usuario e a senha.

Criado 1 de outubro de 2010
Ultima resposta 1 de out. de 2010
Respostas 4
Participantes 3