JSP, HTML e Javascript

7 respostas
IVANNETO7

Fala galera!!!
Estou desenvolvendo um sistema WEB utilizando Ajax com JSP, Javascript e Java para acesso ao banco.
no meu sistema tenho varias DIV’s, e uma delas contem o Form de login.
Quando o usuario faz acesso ao sistema essa div ainda fica aparecendo, pois nao trabalhei muito a perte estetica do sistema, e eu gostaria de saber se esse form de login pode de alguma forma afetar o restante da aplicacao, pois a medida que sao carregados os outros JSP’s existe a necessidade de outros Forms e eu estou tendo um problema na hora de efetuar um cadastro.
O erro que da no javascript eh “Object Error” no momento em que tento ler os elementos do form, mas eu dei uns alerts e o nome do form de cadastroesta certo.

Se alguem puder me ajudar ja agradeco.

Obrigado.

7 Respostas

rdgms

Posta o seu codigo…

IVANNETO7
<body onload="init()">
      <div id="todo">
        <div id="cabecalho">
            <ul>
                <li><a href="http://www.unimed.com.br/pct/index.jsp?cd_canal=52346"><img src="imagens/logo_unimed_pocos.JPG"></a></li>
            </ul>
        </div>
        <div id="titulo">
            <ul>
                <li><img src="imagens/relogio.JPG"></li>
                <li><h1>Sistema de Gerenciamento de Horas</h1></li>
                <li>
                   <div id="login">
                       <form id="sgh_form_login" name="sgh_form_login">
                            <ul>
                                 <li><p>Usu&aacute;rio:</p></li>
                                 <li><input type="text" id="sgh_user" name="sgh_user" size="8"></li>
                                 <li><p>Senha:</p></li>
                                 <li><input type="password" id="sgh_pass" name="sgh_pass" size="8"></li>
                            </ul>
                       </form>
                       <ul>
                            <li><a href="#" onclick="agendaRequisicao('validaUsuario(\'conteudo\',\'XML/SGH_valida_ususario.jsp\',\'sgh_form_login\',\'SGH_menu_principal.jsp\')')">OK</a></li>
                       </ul>
                   </div> 
                </li>
                <li><input type="text" id="relogio" size="15" readonly></li>
            </ul>
        </div>
        <div id="conteudo"></div> //aki eu carrego os outros jsp's
        <div id="rodape">
        </div>
    </div>    
    </body>
eu tenho alguns outros arquivos como menus da aplicacao e o form de cadastro eh esse:
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>SGH - Administrador - Cadastro de Setor</title>
    </head>
    <body>
        <div class="form">
            <form id="AAS_manutencao" name="AAS_manutencao" method="POST" action="#">
            <ul>
                <li>Setor:</li>
                <li><input id="setor" name="setor" type="text"></li>
            </ul>
            </form>
        </div>
        <div class="acoes_form">
            <ul>
                <li class="botao"><a href="#" onclick="agendaRequisicao('carregaConteudoCadastros(\'informacoes_tabelas\',\'AAS_manutencao\',\'XML/administrador/setor/SGH_cadastrar.jsp\',\'administrador/tabelas/setor/SGH_cadastro.jsp\')')">Cadastrar</a></li>
                <li class="botao"><a href="#" onclick="agendaRequisicao('carregaConteudo(\'informacoes_tabelas\',\'administrador/tabelas/setor/SGH_cadastro.jsp\')')">Limpar</a></li>
            </ul>
        </div>
    </body>
</html>
O codigo javascript que esta disparando o erro eh esse:
function constroiURLValores(formulario){
   
   try{
    elementosForm = document.getElementById(formulario).elements; //o erro dispara nessa linha!!   
    nroElementos = elementosForm.length;
    valores = "";
    for(i=0; i < nroElementos; i++){
       elemento = elementosForm[i];
            if (!elemento.disabled) {
                //Trabalha com o elemento caso ele nao esteja desabilitado
                switch(elemento.type) {
                    //Realiza a acao dependendo do tipo de elemento
                    case 'text': case 'password': case 'hidden': case 'textarea':                                                    
                        if (valores.length>0) {
                             valores += "&";
                        }
                        valores += concatenaElemento(elemento.name,elemento.value);
                        break;
                    case 'select-one':
                        if (elemento.selectedIndex>=0) {
                            if (valores.length>0) {
                                valores += "&";
                            }
                            valores += concatenaElemento(elemento.name,elemento.options[elemento.selectedIndex].value);
                        }
                        break;
                    case 'select-multiple':
                        for (var j=0; j<elemento.options.length; j++) {
                            if (elemento.options[j].selected) {
                                if (valores.length>0) {
                                    valores += "&";
                                }
                                valores += concatenaElemento(elemento.name,elemento.options[j].value);
                            }
                        }
                        break;
                    case 'checkbox': case 'radio':
                        if (elemento.checked) {
                            if (valores.length>0) {
                                valores += "&";
                            }
                            valores += concatena(elemento.name,elemento.value);
                        }
                        break;       
                }
            }

    }
    
    return valores;
  }catch(e){
    alert(e);
  }  
}

Se precisar visualizar mais alguma coisa eh soh fala
Obrigado!

rdgms

O cara que chama a função constroiURLValores envia
"sgh_form_login" como parametro?

IVANNETO7

Sim, no primeiro form eu chamo e passo esse form, mas no segundo, na hora de cadastrar eu passo o nome do outro form.

Nesse metodo eu chamo o metodo que ta dando problema e ocorre tudo certo.
function validaUsuario(id, urlXML, form, urlDestino ){

try{

        var conteudo = document.getElementById(id);
        conteudo.innerHTML = '<center><font color=\'#FF0000\'>Carregando...</font></center>';


        urlDados = constroiURLValores(form);

        xmlhttp.open("POST",urlXML,true);
        xmlhttp.setRequestHeader('encoding','ISO-8859-1'); 
        xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=ISO-8859-1');
....
Mais nessa parte aki, onde eu faço a mesma coisa ta dando erro.
function carregaConteudoCadastros(id, form, urlXML, urlDestino ){

   try{
        var conteudo = document.getElementById(id);
        conteudo.innerHTML = '<center><font color=\'#FF0000\'>Carregando...</font></center>';

        alert(form);
        valores = constroiURLValores(form);

        xmlhttp.open("POST",urlXML,true);
        xmlhttp.setRequestHeader('encoding','ISO-8859-1'); 
        xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=ISO-8859-1');
....
rdgms

Então eu estou achando que tem algo errado na chamada dessas functions heim…
você pode postar aih?

IVANNETO7

as chamadas estao nos codigos dos forms postados no segundo post!!
E o uso das functions funciona corretamente no ato do login

IVANNETO7

Quando alguem trabalha com AJAX existe a obrigatoriedade de um so form na tela HTML?
Se eu colocar mais de um form pode dar conflito??

Obrigado!!

Criado 3 de julho de 2009
Ultima resposta 6 de jul. de 2009
Respostas 7
Participantes 2