clicsis Postado Setembro 26, 2008 Denunciar Share Postado Setembro 26, 2008 (editado) Bom dia, pessoal, Gostaria se possível do auxílio dos amigos no sentido de:================================Tenho um formulário que é gerado automaticamente, e poderá conter: - Várias linhas identificadas por ID, onde para cada linha, vários campos identificados por "campo(IDLinha)_n", - Ao final de cada linha é inserido o campo médiaExemplo (para 5 linha x 4 campos): Linha1 > campo1_1, campo1_2, campo1_3, campo1_4, media1 Linha2 > campo2_1, campo2_2, campo2_3, campo2_4, media2 Linha3 > campo3_1, campo3_2, campo3_3, campo3_4, media3 Linha4 > campo4_1, campo4_2, campo4_3, campo4_4, media4 Linha5 > campo5_1, campo5_2, campo5_3, campo5_4, media5O Script:<script type="text/javascript"> function CalcularMedia(QualForm,QualID,QuantCampos) { var trocaV = /,/g; var Tsoma=0; for (var i=1;i<QuantCampos;i++) { Tsoma += document.getElementById('campo'+QualID+'_'+i).value.replace(trocaV,"."); } eval('document.'+QualForm+'.media_'+QualID+'.value='+(Tsoma)/QuantCampos); } </script> Editado Setembro 26, 2008 por fercosmig Adicionar tag's Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 jothaz Postado Setembro 26, 2008 Denunciar Share Postado Setembro 26, 2008 Ih ai não entedi o post!Retorna algum erro?Ou somente não executa o script? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 clicsis Postado Setembro 26, 2008 Autor Denunciar Share Postado Setembro 26, 2008 O script simplesmente não executa:Tentei colocar antes da linha:================Tsoma += document.getElementById('campo'+QualID+'_'+i).value.replace(trocaV,".");================um "alert(i);" e o mesmo é executado uma única vez, mostrando o numero 1, já quando eu comento as linhas:================// Tsoma += document.getElementById('campo'+QualID+'_'+i).value.replace(trocaV,".");// eval('document.'+QualForm+'.media_'+QualID+'.value='+(Tsoma)/QuantCampos);================e deixo o "alert(i);", Ao menos é constatado o funcionamento do loop e da identificação dos parâmetros, possivelmente o problema está na linha:================Tsoma += document.getElementById('campo'+QualID+'_'+i).value.replace(trocaV,".");================Desde já, novamente agradeço. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 jothaz Postado Setembro 26, 2008 Denunciar Share Postado Setembro 26, 2008 Cara JavScritp é a linguagem do inferno! :lol: As vezes não retorna erro as vezes simplesmente não executa com esperado.você terá de debugar o script assim:<script type="text/javascript"> function CalcularMedia(QualForm,QualID,QuantCampos) { alert('aki 1 '); var trocaV = /,/g; alert('aki 2 '); var Tsoma=0; for (var i=1;i<QuantCampos;i++) { Tsoma += document.getElementById('campo'+QualID+'_'+i).value.replace(trocaV,"."); alert('aki 3 '); } alert('aki 4 '); eval('document.'+QualForm+'.media_'+QualID+'.value='+(Tsoma)/QuantCampos); } </script>Com isto você consegue ter uma idéia de onde este ocorrendo o erro.Outra coisa seria utilziar o parseInt e parseFloat para converte os tipos na hora da soma. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 clicsis Postado Setembro 26, 2008 Autor Denunciar Share Postado Setembro 26, 2008 Obrigado galera, consegui usando o seguinte:<script type="text/javascript"> function CalcularMedia(QualForm,QualID,QuantCampos) { var trocaV = /,/g; var Tsoma=0; var TsomaX=0; for (var i=1;i<QuantCampos;i++) { TsomaX += eval('document.'+QualForm+'.nota'+QualID+'_'+i+'.value.replace(trocaV,".")')*1; } eval(QualForm+'.media_'+QualID+'.value="'+((TsomaX*1)/((QuantCampos-1)*1))+'"'); } </script> Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
clicsis
Bom dia, pessoal,
Gostaria se possível do auxílio dos amigos no sentido de:
================================
Tenho um formulário que é gerado automaticamente, e poderá conter:
- Várias linhas identificadas por ID, onde para cada linha, vários campos identificados por "campo(IDLinha)_n",
- Ao final de cada linha é inserido o campo média
Exemplo (para 5 linha x 4 campos):
O Script:
Editado por fercosmigAdicionar tag's
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
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.