Ir para conteúdo
Fórum Script Brasil
  • 0

Problemas Ao Submeter Formulário


Guest - Isaac -

Pergunta

Guest - Isaac -

Olá.

Tenho o seguinte caso:

Possuo uma página onde crio campos de fomulários dinâmicamente com JS.

O usuário pode criar quantos campos quiser. e depois submeter o formulário.

Para processar a submissão uso JSP e pego o array de campos do formulário.

Com o firefox/mozzila isso funciona sem problemas.

já com o IE, quando faço a submissão do formulário ele só envia os formulários

que foram criados ao carregar da página, os que foram criados dinamicamente

com JS ele não envia no formulário.

Se alguém tiver alguma dica.

Grato pela atenção

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0
Guest Visitante

A página toda é muita coisa... mas segue a função que criei...

function inserirLinhaItem(index,campoProduto,campoProdutoDescricao,campoQuantidade,campoPeso,campoPreco,valorFrete,precoFrete,valorArroz){
            
            var totalQuantidade = document.getElementById("totalQuantidade");
            var totalValor = document.getElementById("totalValor");
            var totalPeso = document.getElementById("totalPeso");
            
            var listaItens = document.getElementById("listaItens");

            var nova_celula;

            var linha = listaItens.insertRow(index);
            
            nova_celula = linha.insertCell(0);            
            nova_celula.innerHTML = "<input type='hidden' name='codigoProduto' size='10' readonly class='textTable' value='"+campoProduto+"'>"+campoProduto+" - <input type='text' name='descricaoProduto' size='10' readonly class='textTable' style='width:300' value='"+campoProdutoDescricao+"'>";
            nova_celula.className = "trItens";
            
            nova_celula = linha.insertCell(1);
            totalQuantidade.value = parseFloat(totalQuantidade.value) + parseFloat(campoQuantidade);
            nova_celula.innerHTML = "<input type='text' name='quantidade' size='10' readonly class='textTable' style='width:80' value='"+campoQuantidade+"' dir='rtl'>";
            nova_celula.className = "trItens";
            
            nova_celula = linha.insertCell(2);            
            totalPeso.value = parseFloat(totalPeso.value) + parseFloat(campoPeso);
            nova_celula.innerHTML = "<input type='text' name='peso' size='10' readonly class='textTable' style='width:70' value='"+campoPeso+"' dir='rtl'>";
            nova_celula.className = "trItens";
            
            nova_celula = linha.insertCell(3);
            totalValor.value = parseFloat(totalValor.value) + parseFloat(campoPreco);
            var nova_celulaValor = "<input type='text' name='preço' size='10' readonly class='textTable' style='width:100' value='"+campoPreco+"' dir='rtl'>";
            nova_celulaValor += "<input type='hidden' name='valorFrete' size='10' readonly class='textTable' value='"+valorFrete+"'>";            
            nova_celulaValor += "<input type='hidden' name='precoFrete' size='10' readonly class='textTable' value='"+precoFrete+"'>";
            nova_celulaValor += "<input type='hidden' name='valorArroz' size='10' readonly class='textTable' value='"+valorArroz+"'>";
            nova_celula.innerHTML = nova_celulaValor;
            nova_celula.className = "trItens";
            
}

Na verdade descobri mais uma coisa... se há campos no IE tipo dentro de uma <table> onde display='none'

o IE não le os campos do formulário.... só le o que esta visivel...

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Visitante

Meu problema não é com relação a inserir a linha ou objetos na página..

O problema é que no internet explorer quando monto uma página com um formulário

ele tipo mapea os campos que estão aparecendo no formulário... se eu adicionar novos campos

dinamicamente com JS ou exibir campos que estavam escondidos tipo CSS: "display:none"...

ele não enxerga... se eu submeter o formulário ele não envia esses campos.. até na própria

página se tento tipo form[0].elements[campoNovo].focus() é como se o campo não exitisse...

só se eu usar getElementById()....

No firefox/mozzila.. isso funciona normal... adiciona os campos e o navegador os le certinho dentro do formulário...

ficou mais claro? :)

Vlw..

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Visitante

Obs.: O Problema não era com o navegador.. e sim uma <tag>

mal encerrada a qual o firefox ignorava e o erro nõ ocorria..

mas o IE interpretou a tag.. por isso dava problema.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,2k
×
×
  • Criar Novo...