IVANNETO7 3 de jul. de 2009
<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á 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!
IVANNETO7 3 de jul. de 2009
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');
....
IVANNETO7 3 de jul. de 2009
as chamadas estao nos codigos dos forms postados no segundo post!!
E o uso das functions funciona corretamente no ato do login
IVANNETO7 6 de jul. de 2009
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!!