Ir para conteúdo

POWERED BY:

Arquivado

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

Neader

Erro ao Executar pela Segunda o JavaScript

Recommended Posts

Posta o codigo completo novamente

 

passou alguma coisa ai que não vi.

Compartilhar este post


Link para o post
Compartilhar em outros sites
function form2Qs(form_ajax){
       var form = document.getElementById(form_ajax);
       var inputs = form.getElementsByTagName('input');

       var dados = '';
       for( var i=0; i<inputs.length; i++ ){
               dados += inputs[i].name+'='+inputs[i].value+'&';
       }

       //alert(dados);

       return dados;

}

// FUNÇÃO QUE DA UM 'LOOP' PARA PEGAR O NOME E VALOR DE TODOS OS <TEXTAREAs> DOS FORMULÁRIOS
function form3Qs(form_ajax){
       var form = document.getElementById(form_ajax);
       var textareas = form.getElementsByTagName('textarea');

       var dados = '';
       for( var i=0; i<textareas.length; i++ ){
               dados += textareas[i].name+'='+textareas[i].value+'&';
       }

       return dados;
}

// FUNÇÃO QUE DA UM 'LOOP' PARA PEGAR O NOME E VALOR DE TODOS OS <SELECTs> DOS FORMULÁRIOS
function form4Qs(form_ajax){
       var form = document.getElementById(form_ajax);
       var selects = form.getElementsByTagName('select');

       var dados = '';
       for( var i=0; i<selects.length; i++ ){
               dados += selects[i].name+'='+selects[i].value+'&';
       }

       return dados;

}

function form5Qs(form_ajax){
       var form = document.getElementById(form_ajax);
       var files = form.getElementsByTagName('file');

       var dados = '';
       for( var i=0; files.length; i++ ){
               dados += files[i].name+'='+files[i].value+'&';
       }

}

function form6Qs(form_ajax){
       var form = document.getElementById(form_ajax);
       var hiddens = form.getElementsByTagName('hidden');

       var dados = '';
       for( var i=0; hiddens.length; i++ ){
               dados += hiddens[i].name+'='+hiddens[i].value+'&';
       }

       return dados;
}

// FUNÇÃO QUE RECEBE TODOS OS NOMES E VALORES DE TODOS OS <INPUTs> E <TEXTAREAa> RECOLHIDOS DOS FORMULÁRIOS
function f_ajx(form){
       alert("FORM="+form);
       var url = id(form).action;
       alert("URL= "+url);
       xmlHttp.open("POST", url, true);
       xmlHttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');


       var obj_form = id( form );
       alert("OBJ_FORM = "+obj_form);
       var dados = form2Qs( obj_form )+form3Qs( obj_form )+form4Qs( obj_form )+form5Qs( obj_form )+form6Qs( obj_form )+'&acao=acao';

       alert("DADOS = "+dados);

       xmlHttp.send(dados);
       xmlHttp.onreadystatechange = function(){
               id("conteudo").innerHTML = xmlHttp.responseText;
       }
       return false;
}

function id(el){
       var dc=document.getElementById(el);
       alert("id = "+el+" DC"+dc);
       return dc;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

essas linhas:

 

function form2Qs(form_ajax){
       var form = document.getElementById(form_ajax);

você troca por:

function form2Qs( form ){

 

removendo o document.getElement mesmo.. pois agora já estamos enviando o objeto do form.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Blza agora passou para o segundo, mas nele ainda da pau, e notei que ele se perde em comparação a primeira vez que o chamo, veja os alerts

 

primeira:

 

FORM = form_ajax

 

id = form_ajax DC[object HTMLFormElement]

 

URL= http://localhost:8084/GD_Rural/teste_inse.jsp

 

id = form_ajax DC[object HTMLFormElement]

 

OBJ_FORM = [object HTMLFormElement]

 

Dados = slc_animal=21&undefined&acao=acao

 

id = conteudo DC[object HTMLDivElement]

id = conteudo DC[object HTMLDivElement]

id = conteudo DC[object HTMLDivElement]

id = conteudo DC[object HTMLDivElement]

id = conteudo DC[object HTMLDivElement]

 

na segunda:

 

FORM = form_ajax

 

id = form_ajax DC[object HTMLFormElement]

 

URL= http://localhost:8084/GD_Rural/cad_obs.jsp

 

id = conteudo DC[object HTMLDivElement]

 

id = form_ajax DCnull

 

OBJ_FORM = null

Compartilhar este post


Link para o post
Compartilhar em outros sites

notei que ele estava se perdendo dentro do ajax e inverti a ordem dos comandos, funcionou direitinho no FireFox, mas no Chrome e no IE não, alguma sugestão?

 

o f_ajx ficou assim:

 

function f_ajx(form){

       var obj_form = id( form );
       var url = id(form).action;        

       xmlHttp.open("POST", url, true);
       xmlHttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');

       var dados = form2Qs( obj_form )+form3Qs( obj_form )+form4Qs( obj_form )+form5Qs( obj_form )+form6Qs( obj_form )+'&acao=acao';

       xmlHttp.send(dados);
       xmlHttp.onreadystatechange = function(){
               id("conteudo").innerHTML = xmlHttp.responseText;
       }
       return false;
}

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.