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

Problemas com Ajax no Firefox


Mike_online

Pergunta

Olá,

Estou tendo um problema estranho com Ajax.

Eu insiro alguns campos dentro de um formulário através do ajax.

Basicamente é isso:

Antes

<form action="teste.php" method="post">
   <div id="teste"></div>
   <input type="submit" value="enviar">
</form>
Depois
<form action="teste.php" method="post">
   <div id="teste"><input type="hidden" name="test_field" value="ok"></div>
   <input type="submit" value="enviar">
</form>

O script Ajax funciona como deveria. O problema é na hora do envio do formulario. Ele simplesmente não envia os dados do campo que foi inserido no form. O mais estranho é que isso acontece somente no FF, no IE funciona normalmente.

Não é mostrado nenhum erro no console de erros. Meu firefox é última versão.

to doidão. alguém já passou por isso?

abs

Editado por Mike_online
Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

Nunca passei por um problema parecido, mas você pode tentar (não sei se vai funcionar) utilizando o document.createElement

var novo_input=document.createElement("input")
novo_input.name=nome_do_input
novo_input.setAttribute("type,"hidden")
novo_input.value=valor_do_input
sua_div.appendChild(novo_input)

Link para o comentário
Compartilhar em outros sites

  • 0

Eu fiz um teste exatamente como citei, colocando um input com value="OK" e mesmo assim não foi possivel pegar o post desse input.

perguntei no fórum da Dev Shed. e o cara me falou q já passou por algo parecido, mas que não encontrou um solução muito concisa. Que o negócio é tentar mudar como esta definido o conteúdo da div, tentar criar o formulario inteiro através do Ajax...mas sei la..

obrigado

Link para o comentário
Compartilhar em outros sites

  • 0
O problema é que para criar esse input eu preciso acessar dados do servidor. Então preciso utilizar o Ajax.

Esse caso q coloquei foi apenas um exemplo, mas o input vai conter dados vindos de um banco de dados.

Qual o problema de usar os metodos do DOM para criar os input mesmo com dados vindos do servidor? Oo

Se você quiser criar o input so depois que o servidor responder, pode fazer algo mais ou menos assim:

var hidden = document.createElement("hidden");
hidden.setAttribute("name","text_field");
hidden.setAttribute("value",httprequest.resposeText);//se o dado que vem do servidor vai pro atributo value, então coloca o responseText como parametro
document.getElementById("teste").appendChild(hidden);
Se voce quiser criar os elementos antes de fazer a chamada no servidor e depois so atribuir os valores, mais simples ainda:
document.getElementsByName("teste")[0].setAttribute("value",httprequest.responseText);

Se mesmo assim o FF não enviar os dados, então voce pode apelar pra um poco de ajax e montar o cabecalho da reguizicao como post e enviar usando o objeto XMLHttpRequest.

Se tiver duvidas de como fazer, so fala aew :P

Inté

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,3k
×
×
  • Criar Novo...