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

Problema simples com loop


viejoyo

Pergunta

Opa ... não sei porque o código abaixo não funciona,

function enviar () {
var i
for (i = 1;i <= 31;i++) {
opener.document.getElementById('dt').value = document.getElementById("data"+i).value
}
this.close();
return false;

}

Me aparece que o getElementById("data"+i) is null .. o que eu estou fazendo de errado ?

Vlw!!

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

Então, isso que é estranho porque os id's estão setados direitinho .. e exemplo se eu coloco assim:

function enviar () {

opener.document.getElementById('dt').value = document.getElementById("data29").value
opener.document.getElementById('dt').value = document.getElementById("data30").value

}
Ele so pega o 30, e olha o trecho de como fica a parte que carrega o id:
<a href = "" onclick="enviar();" >29</a>
<input type = "hidden" id = "data29" value = "29/09/2008">

<a href = "" onclick="enviar();" >30</a>
<input type = "hidden" id = "data30" value = " 30/09/2008">

Eu não entendo porque não funciona ..

Link para o comentário
Compartilhar em outros sites

  • 0

Se está retornando null, é porque está tentando acessar um elemento que não existe, provavelmente você tem 30 elementos e está tentando acessar o trigésimo primeiro.

Sempre retorna o último, já que toda hora você atualiza o valor do dt.

Outra coisa, dt é uma tag que não tem value como atributo html, então você deve usar innerHTML.

opener.document.getElementById('dt').innerHTML+= document.getElementById("data"+i).value

+=, porque você deseja acrescentar mais elementos e não atualizar o valor do objeto.

Link para o comentário
Compartilhar em outros sites

  • 0

Como é possível ele pegar o um número que não existe, sendo que aqui no loop:

for (i = 1;i <= 31;i++) {
opener.document.getElementById('dt').innerHTML+= document.getElementById("data"+i).value
}

era pra ficar setado da seguinte forma .. data1,data2 ... igual está nos names e id's dos campos inputs.

Testei da forma que você me passou e ainda não funciona porque continua dizendo que ("data"+i) is null,

.. esse esquema está num página tipo agenda, a pessoa clica para marcar determinado compromisso, e abre um pop-up, com os dias livres linkados, carregando na página pai ao ser clicado, não entendi muito bem a questão de atualizar o valor do objeto, ou como eu poderia fazer com que funcione nesse meu caso ...

Vlw!!

Link para o comentário
Compartilhar em outros sites

  • 0

Cara, tá muito estranho isso....

Tem como postar mais do código? Ou manda dois htmls, um da pagina e um do pop-up, para a gente dar uma olhada.

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
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...