Ir para conteúdo

POWERED BY:

Arquivado

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

panox

como fazer ?

Recommended Posts

Ola, eu tenho uma funçao aqui que, ao disparar o OnClick, ele cria uma tabela dinamica com os dados digitados em algumas text fields e com um hidden em cada "td" com o mesmo valor que é mostrado na tabela :

 

Segue Função :

 

function Insere(){

 

var x=document.getElementById('tabela').insertRow(1)

var qt=x.insertCell(0)

var uni=x.insertCell(0)

var desc=x.insertCell(0)

var bar=x.insertCell(0)

var ape=x.insertCell(0)

qt.innerHTML='<input type="hidden" name="e" value="'+document.getElementById("qtd").value+'">' + document.getElementById("qtd").value;

uni.innerHTML='<input type="hidden" name="d" value="'+document.getElementById("cum").value+'">' + document.getElementById("cum").value;

desc.innerHTML='<input type="hidden" name="c" value="'+document.getElementById("cdesc").value+'">' + document.getElementById("cdesc").value;

bar.innerHTML='<input type="hidden" name="b" value="'+document.getElementById("cbarra").value+'">' + document.getElementById("cbarra").value;

ape.innerHTML='<input type="hidden" name="a" value="'+document.getElementById("codpro").value+'">' + document.getElementById("codpro").value;

}

[code=auto:0]

 

 

Agora eu preciso dar um request.form em ASP em todos os dados dessa tabela mas, como eu chapei um name para cada hidden, se tiver 2 linhas ou mais, os items são mostrados separados por virgula e não pode ser assim pois eu terei que fazer um Insert Into contendo essas informaçoes ordenadamente.

 

então eu teria que fazer um laço para a cada linha que for inserida, ele criar o hidden com um valor numerico (e, e1, e2 e assim por diante)

 

Esse é um problema... o outro problema é que não é um numero fixo, ele pode ser tanto 1 quanto 5000 linhas, alguém saberia como fazer este array ?

 

 

Muito Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

pelo o q eu entendi a tua função insere uma linha por vez, certo?

bem se for isso tu pode criar uma variavel global e ir incrementando ela dentro da tua função e desse modo tu teria os hiddens com o valor numerico

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, ela insere uma linha por vez.

 

Bom, eu entendi o q você quis dizer mas tem um pequeno problema...eu sou aluno de colegial ainda, o que sei de JS foi pegando codigos prontos, estudando eles e adaptando para as minhas necessidades, com isso ja vou ganhando uma base mas, com variaveis desse tipo nunca usei.

 

Nao teria como voce me mostrar a estrutura desta sua ideia ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

variavel global é uma variavel q todas as funções tem acesso ex:

 

var indice = 0;

function A(){
	indice = 10;
}


function B(){
	indice += 1;
}

qd a pagina for carregada pela primeira vez a variavel indice var ter valor zero, se eu chamar a função A ela fica com valor 10 se apos isso eu chamar a função B ela fica com valor 11. Em resumo a variavel fica disponivel pra todas as funções alterarem o seu valor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

certo, no caso entao para ir adicionando os valores seria isso ? :

 

 

var i = 0
	function Insere(){

var x=document.getElementById('tabela').insertRow(1)
var qt=x.insertCell(0)
var uni=x.insertCell(0)
var desc=x.insertCell(0)
var bar=x.insertCell(0)
var ape=x.insertCell(0)

qt.innerHTML='<input type="hidden" name="qtd('+ i +')" value="'+document.getElementById("qtd").value+'">' + document.getElementById("qtd").value;

uni.innerHTML='<input type="hidden" name="cum('+ i +')" value="'+document.getElementById("cum").value+'">' + document.getElementById("cum").value;

desc.innerHTML='<input type="hidden" name="cdesc('+ i +')" value="'+document.getElementById("cdesc").value+'">' + document.getElementById("cdesc").value;

bar.innerHTML='<input type="hidden" name="cbarra('+ i +')" value="'+document.getElementById("cbarra").value+'">' + document.getElementById("cbarra").value;

ape.innerHTML='<input type="hidden" name="codpro('+ i +')" value="'+document.getElementById("codpro").value+'">' + document.getElementById("codpro").value;

i +=1

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hmm...ainda nao funciona, quando dou o request.form nele eu recebo o resultado desse jeito :

 

codpro(1) - 3336, 3336
cbarra(1) - 0033369, 0033369
cum(1) - PC, PC
cdesc(1) - INCLINOMETRO C/ BASE DE IMÃ, INCLINOMETRO C/ BASE DE IMÃ
qtd(1) - r, r
obs - ds
usr - 
cod_gestor22 - 2103
cod_gestor33 - 4
ccusto2 - 59
date - 13/10/2008
filial - 2935
codpro - 3336

o contador nao ta fazendo a parte dele :S

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.