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

(Resolvido) Insert Into para varios items


panox

Pergunta

Bom, aqui estou eu dinovo, mas dessa vez meu problema não é mais com o JS ( Obrigado Pela dica rafael spilki ) então acho que deve ficar um pouco mais facil para voces analisarem o codigo

Vamos la, eu estou gerando uma tabela dinamicamente em JS E, em cada InsertCell que eu crio, eu crio uma hidden com o mesmo valor que sera mostrado para o usuario, e farei o request form desta hidden...

var i = 1;


    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("qtd2").value+'"> <input type="hidden" name="cod_proj('+i+')" value="'+document.getElementById("cod_gestor33").value+'"> ' + document.getElementById("qtd2").value;

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

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

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

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

}


   function cont(){
    i +=1;
   }
e utilizo alguns hiddens que são fixos para todos os Inserts, por tanto nem me preocupei em coloca-los aqui. Na pagina que faz a inserção dos dados, eu consegui inserir para apenas 1 item criado na tabela, no caso, sem esse contador nos hiddens ('+i+'), apenas eles normais.... utilizando este codigo
Conexao.Execute "Insert Into REQ_REQUISICAO ( CODIGO, NUM_REQUISICAO, COD_USUARIO, COD_PRODUTO, TIPO_REQUISICAO, QTDE_SOLICITADA, QTDE_ATENDIDA, PRIORIDADE, STATUS, COD_FILIAL, COD_CCUSTO, OBSERVACAO, COD_PROPRIETARIO, UMEDIDA, DESCRICAO, COD_TECNOLOGIA_GESTOR) values (GEN_ID(GEN_REQ_REQUISICAO,1), GEN_ID(GEN_REQ_REQUISICAO,1), " & Request.Form("usr") & ", " & Request.form("codprodu") & ", " & Request.form("1") & ", " & Request.form("qtd") & ", " & Request.form("0") & ", " & Request.form("1") & ", " & Request.form("0") & ", " & Request.form("cfil") & ", " & Request.form("ccusto2") & ", '" & Request.form("obser") & "', " & Request.Form("cfil") & ", '" & Request.form("ccum") & "', '" & Request.form("cdescri") & "', " & Request.form("cod_proj") & ")"
Agora eu estou tentando fazer com que ele faça a inserção dos items por linha mas não estou conseguindo... tentei usar este codigo mas não funcionou
For Each i in Request.Form

Conexao.Execute "Insert Into REQ_REQUISICAO ( CODIGO, NUM_REQUISICAO, COD_USUARIO, COD_PRODUTO, TIPO_REQUISICAO, QTDE_SOLICITADA, QTDE_ATENDIDA, PRIORIDADE, STATUS, COD_FILIAL, COD_CCUSTO, OBSERVACAO, COD_PROPRIETARIO, UMEDIDA, DESCRICAO, COD_TECNOLOGIA_GESTOR) values (GEN_ID(GEN_REQ_REQUISICAO,1), GEN_ID(GEN_REQ_REQUISICAO,1), " & Request.Form("usr") & ", " & Request.form("codprodu(i)") & ", " & Request.form("1") & ", " & Request.form("qtd(i)") & ", " & Request.form("0") & ", " & Request.form("1") & ", " & Request.form("0") & ", " & Request.form("cfil(i)") & ", " & Request.form("ccusto2(i)") & ", '" & Request.form("obser(i)") & "', " & Request.Form("cfil(i)") & ", '" & Request.form("ccum(i)") & "', '" & Request.form("cdescri(i)") & "', " & Request.form("cod_proj(i)") & ")"

next

Sera que alguém teria uma ideia de como resolver isso ? Obrigado desde já !

[]'s

Link para o comentário
Compartilhar em outros sites

24 respostass a esta questão

Posts Recomendados

  • 0

Isso aí é assim panox:

você tem que ter lá no seu form ainda um contador...

<%i = i + 1
e depois encerra o loop
dai coloca o hidden abaixo
%>
<input name="contador" id="contador" type="hidden" value="<%=i - 1%>">
<%
'depois você faz o loop do insert la na outra pagina assim:

contador = request.form("contador")
for x = 1 to contador
campoteste = request.form("campoteste "&x&"")
'dai vem a instrução de insert inserindo campoteste no bd
next
%>

É só um exemplo... fiz rapidão e não testei aqui...

mas é mais ou menos isso... sacou?

[]'s Rafael Spilki

Link para o comentário
Compartilhar em outros sites

  • 0

Fala rafael, tudo bom ?

então, eu tava vendo aqui e consegui monta um codigo com ubound que ficou assim :

<!--#include file="conexao.asp"-->
<%

call abre_conexao
Set R6 = server.createobject("ADODB.RecordSet")



CODIGO = request.form("gencod")
NUM_REQUISICAO = request.form("gemnum")
COD_USUARIO = request.form("usr")
COD_PRODUTO = request.form("codprodu")
TIPO_REQUISICAO = request.form("1")
QTDE_SOLICITADA = request.form("qtd")
QTDE_ATENDIDA = request.form("0")
PRIORIDADE = request.form("1")
STATUS = request.form("0")
COD_FILIAL = request.form("cfil")
COD_CCUSTO = request.form("ccusto2")
OBSERVACAO = request.form("obser")
COD_PROPRIETARIO = request.form("cfil")
UMEDIDA = request.form("ccum")
DESCRICAO = request.form("cdescri")
COD_TECNOLOGIA_GESTOR = request.form("cod_proj")



CODIGO = split(CODIGO,",")
NUM_REQUISICAO = split(NUM_REQUISICAO,",")
COD_USUARIO = split(COD_USUARIO,",")
COD_PRODUTO = split(COD_PRODUTO,",")
TIPO_REQUISICAO = split(TIPO_REQUISICAO,",")
QTDE_SOLICITADA = split(QTDE_SOLICITADA,",")
QTDE_ATENDIDA = split(QTDE_ATENDIDA,",")
PRIORIDADE = split(PRIORIDADE,",")
STATUS = split(STATUS,",")
COD_FILIAL = split(COD_FILIAL,",")
COD_CCUSTO = split(COD_CCUSTO,",")
OBSERVACAO = split(OBSERVACAO,",")
COD_PROPRIETARIO = split(COD_PROPRIETARIO,",")
UMEDIDA = split(UMEDIDA,",")
DESCRICAO = split(DESCRICAO,",")
COD_TECNOLOGIA_GESTOR = split(COD_TECNOLOGIA_GESTOR,",")

max = ubound(CODIGO)



for i = 0 to max

Conexao.Execute "Insert Into REQ_REQUISICAO ( CODIGO, NUM_REQUISICAO, COD_USUARIO, COD_PRODUTO, TIPO_REQUISICAO, QTDE_SOLICITADA, QTDE_ATENDIDA, PRIORIDADE, STATUS, COD_FILIAL, COD_CCUSTO, OBSERVACAO, COD_PROPRIETARIO, UMEDIDA, DESCRICAO, COD_TECNOLOGIA_GESTOR) values ( " & trim(CODIGO(i)) & ", " & trim(NUM_REQUISICAO(i)) & ", " & trim(COD_USUARIO(i)) & ", " & trim(COD_PRODUTO(i)) & ", " & trim(TIPO_REQUISICAO(i)) & ", " & trim(QTDE_SOLICITADA(i)) & ", " & trim(QTDE_ATENDIDA(i)) & ", " & trim(PRIORIDADE(i)) & ", " & trim(STATUS(i)) & ", " & trim(COD_FILIAL(i)) & ", " & trim(COD_CCUSTO(i)) & ", '" & trim(OBSERVACAO(i)) & "', " & trim(COD_PROPRIETARIO(i)) & ", '" & trim(UMEDIDA(i)) & "', '" & trim(DESCRICAO(i)) & "', " & trim(COD_TECNOLOGIA_GESTOR(i)) & ")"


'Conexao.Execute "Insert Into REQ_REQUISICAO ( CODIGO, NUM_REQUISICAO, COD_USUARIO, COD_PRODUTO, TIPO_REQUISICAO, QTDE_SOLICITADA, QTDE_ATENDIDA, PRIORIDADE, STATUS, COD_FILIAL, COD_CCUSTO, OBSERVACAO, COD_PROPRIETARIO, UMEDIDA, DESCRICAO, COD_TECNOLOGIA_GESTOR) values ( " & trim(CODIGO(i)) & ", " & trim(NUM_REQUISICAO(i)) & ", " & trim(COD_USUARIO(i)) & ", " & trim(COD_PRODUTO(i)) & ", " & trim(TIPO_REQUISICAO(i)) & ", " & trim(QTDE_SOLICITADA(i)) & ", " & trim(QTDE_ATENDIDA(i)) & ", " & trim(PRIORIDADE(i)) & ", " & trim(STATUS(i)) & ", " & trim(COD_FILIAL(i)) & ", " & trim(COD_CCUSTO(i)) & ", '" & trim(OBSERVACAO(i)) & "', " & trim(COD_PROPRIETARIO(i)) & ", '" & trim(UMEDIDA(i)) & "', '" & trim(DESCRICAO(i)) & "', " & trim(COD_TECNOLOGIA_GESTOR(i)) & ")"

next


call fecha_conexao
set r6 = nothing
%>


<script languange = "javascript">

alert("Requisição Concluida com Sucesso !");

</script>
e todas esses request's são hiddens geradas em cada linha da minha tabela aqui, SEM O CONTADOR.
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" value="'+document.getElementById("qtd2").value+'"> <input type="hidden"  id="0" value="0" name="0"> <input type="hidden" name="cod_proj" value="'+document.getElementById("cod_gestor33").value+'"> ' + document.getElementById("qtd2").value;

uni.innerHTML='<input type="hidden" name="ccum" value="'+document.getElementById("cum").value+'"> <input type="hidden"  id="1" value="1" name="1"> <input type="hidden" name="cdescri" value="'+document.getElementById("cdesc").value+'">' + document.getElementById("cum").value;

desc.innerHTML='<input type="hidden" name="cfil" value="'+document.getElementById("cod_gestor2").value+'"> <input type="hidden"  id="usr" name="usr" value="<%=Request.form("coder")%>"> <input type="hidden" name="obser" value="'+document.getElementById("obs").value+'">' + document.getElementById("cdesc").value;

bar.innerHTML='<input type="hidden" name="codbarra" value="'+document.getElementById("cbarra").value+'"> <input type="hidden" name="gencod" value="GEN_ID(GEN_REQ_REQUISICAO_ID,1)">' + document.getElementById("cbarra").value;

ape.innerHTML='<input type="hidden" name="codprodu" value="'+document.getElementById("codpro").value+'"> <input type="hidden"  id="ccusto2" name="ccusto2"> <input type="hidden" name="gennum" value="GEN_ID(GEN_REQ_REQUISICAO,1)">' + document.getElementById("codpro").value;

}

Eu estou recebendo o erro :

Tipo de erro:

Microsoft OLE DB Provider for ODBC Drivers (0x80004005)

[ODBC Firebird Driver][Firebird]Dynamic SQL Error SQL error code = -104 Token unknown - line 1, column 313 ,

/lider/reqins.asp, line 51

eu ACHO que pode ser por causa destes generatos que são gerados nos hiddens, mas não sei como gera-los na pagina inicial...não sei se são eles, apenas deduzo

Link para o comentário
Compartilhar em outros sites

  • 0

ah, para deixar avisado tambem, se souberem desse outro tipo de sintaxe, eu to tentando desse jeito tambem e recebendo o mesmo erro

Tipo de erro:

Microsoft OLE DB Provider for ODBC Drivers (0x80004005)

[ODBC Firebird Driver][Firebird]Dynamic SQL Error SQL error code = -104 Token unknown - line 1, column 275 ,

/lider/reqins.asp, line 66

For i = 1 To Request.Form("cod_proj").Count



Conexao.Execute "Insert Into REQ_REQUISICAO ( CODIGO, COD_USUARIO, COD_PRODUTO, TIPO_REQUISICAO, QTDE_SOLICITADA, QTDE_ATENDIDA, PRIORIDADE, STATUS, COD_FILIAL, COD_CCUSTO, OBSERVACAO, COD_PROPRIETARIO, UMEDIDA, DESCRICAO, COD_TECNOLOGIA_GESTOR) values ( " & Request.Form("gennum")(i) & ", " & Request.Form("usr")(i) & ", " & Request.form("codprodu")(i) & ", " & Request.form("1")(i) & ", " & Request.form("qtd")(i) & ", " & Request.form("0")(i) & ", " & Request.form("1")(i) & ", " & Request.form("0")(i) & ", " & Request.form("cfil")(i) & ", " & Request.form("ccusto2")(i) & ", '" & Request.form("obser")(i) & "', " & Request.Form("cfil")(i) & ", '" & Request.form("ccum")(i) & "', '" & Request.form("cdescri")(i) & "', " & Request.form("cod_proj")(i) & ")"


Next

eu achei em um post daqui mesmo a respeito de for each e, bem, não custa tentar não é ?

Link para o comentário
Compartilhar em outros sites

  • 0

bom, troquei os generators por triggers e não resolver meu problema, com ambos os codigos, ubound ou for to request.form inserem registros simples, mas se for 2 ou mais registros ele aponta o erro

Microsoft OLE DB Provider for ODBC Drivers (0x80004005)

[ODBC Firebird Driver][Firebird]Dynamic SQL Error SQL error code = -104 Token unknown - line 1, column 261 ,

/lider/reqins.asp, line 49

e insere apenas o ultimo item que você digitou.

1ª Opção :

For i = 1 To Request.Form("cod_proj").Count

Response.write request.form("cod_proj")(i)&"<BR>" & request.form("codprodu")(i)&"<BR>" & request.form("qtd")(i)&"<BR>" & request.form("ccum")(i)&"<BR>" & request.form("usr")(i)&"<BR>" & request.form("cfil")(i)&"<BR>" & request.form("ccusto2")(i)&"<BR>" & request.form("1")(i)&"<BR>" & request.form("0")(i)&"<BR>" & request.form("obser")(i)&"<BR>" & request.form("cdescri")(i)&"<BR>" & request.form("gencod")(i)&"<BR>" & request.form("gennum")(i)&"<BR>"

next
2ª opção :
COD_USUARIO = request.form("usr")
COD_PRODUTO = request.form("codprodu")
TIPO_REQUISICAO = request.form("1")
QTDE_SOLICITADA = request.form("qtd")
QTDE_ATENDIDA = request.form("0")
PRIORIDADE = request.form("1")
STATUS = request.form("0")
COD_FILIAL = request.form("cfil")
COD_CCUSTO = request.form("ccusto2")
OBSERVACAO = request.form("obser")
COD_PROPRIETARIO = request.form("cfil")
UMEDIDA = request.form("ccum")
DESCRICAO = request.form("cdescri")
COD_TECNOLOGIA_GESTOR = request.form("cod_proj")


COD_USUARIO = split(COD_USUARIO,",")
COD_PRODUTO = split(COD_PRODUTO,",")
TIPO_REQUISICAO = split(TIPO_REQUISICAO,",")
QTDE_SOLICITADA = split(QTDE_SOLICITADA,",")
QTDE_ATENDIDA = split(QTDE_ATENDIDA,",")
PRIORIDADE = split(PRIORIDADE,",")
STATUS = split(STATUS,",")
COD_FILIAL = split(COD_FILIAL,",")
COD_CCUSTO = split(COD_CCUSTO,",")
OBSERVACAO = split(OBSERVACAO,",")
COD_PROPRIETARIO = split(COD_PROPRIETARIO,",")
UMEDIDA = split(UMEDIDA,",")
DESCRICAO = split(DESCRICAO,",")
COD_TECNOLOGIA_GESTOR = split(COD_TECNOLOGIA_GESTOR,",")

max = ubound(COD_PRODUTO)


for i = 0 to max

Conexao.Execute "Insert Into REQ_REQUISICAO ( COD_USUARIO, COD_PRODUTO, TIPO_REQUISICAO, QTDE_SOLICITADA, QTDE_ATENDIDA, PRIORIDADE, STATUS, COD_FILIAL, COD_CCUSTO, OBSERVACAO, COD_PROPRIETARIO, UMEDIDA, DESCRICAO, COD_TECNOLOGIA_GESTOR) values ( " & trim(COD_USUARIO(i)) & ", " & trim(COD_PRODUTO(i)) & ", " & trim(TIPO_REQUISICAO(i)) & ", " & trim(QTDE_SOLICITADA(i)) & ", " & trim(QTDE_ATENDIDA(i)) & ", " & trim(PRIORIDADE(i)) & ", " & trim(STATUS(i)) & ", " & trim(COD_FILIAL(i)) & ", " & trim(COD_CCUSTO(i)) & ", '" & trim(OBSERVACAO(i)) & "', " & trim(COD_PROPRIETARIO(i)) & ", '" & trim(UMEDIDA(i)) & "', '" & trim(DESCRICAO(i)) & "', " & trim(COD_TECNOLOGIA_GESTOR(i)) & ")"

next

alguém sabe o que estou fazendo de errado aqui ? =X

Abraçoos

Link para o comentário
Compartilhar em outros sites

  • 0

contador = request.form("cdescri")
for x = 1 to contador


cod_proj = request.form("cod_proj "&x&" ")
cdescri = request.form("cdescri "&x&" ")
ccum = request.form("ccum "&x&" ")
obser = request.form("obser "&x&" ")
ccusto2 = request.form("ccusto2 "&x&" ")
cfil = request.form("cfil "&x&" ")
0 = request.form("0 "&x&" ")
qtd = request.form("qtd "&x&" ")
1 = request.form("1 "&x&" ")
codprodu = request.form("codprodu "&x&" ")
usr = request.form("usr "&x&" ")


Conexao.Execute "Insert Into REQ_REQUISICAO ( COD_USUARIO, COD_PRODUTO, TIPO_REQUISICAO, QTDE_SOLICITADA, QTDE_ATENDIDA, PRIORIDADE, STATUS, COD_FILIAL, COD_CCUSTO, OBSERVACAO, COD_PROPRIETARIO, UMEDIDA, DESCRICAO, COD_TECNOLOGIA_GESTOR) values ( " & usr & ", " & codprodu & ", " & 1 & ", " & qtd & ", " & 0 & ", " & 1 & ", " & 0 & ", " & cfil & ", " & Request.form("ccusto2") & ", '" & obser & "', " & cfil & ", '" & ccum & "', '" & cdescri & "', " & cod_proj & ")"


next

desse jeito ??

@EDIT :

ganhei esse erro *-*

Tipo de erro:

Erro de compilação do Microsoft VBScript (0x800A0400)

Instrução esperada

/lider/reqins.asp, line 81

0 = request.form("0 "&x&" ")

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

  • 0

só nessa linha?

aquilo ali é um zero ou letra 'o' maiuscula? se for zero taí o erro... troque o '0' por zero por extenso... não esqueça de trocar no dim e no insert tb!

se mesmo assim o erro continuar apenas nessa linha... temporariamente isola ela com um apostrofe na frente... ve se aparece mais algum erro depois disso... esse erro é muito especifico... é algo que ta vindo do form com problema... mas não esqueca que suas variaveis não podem ser numeros... ok?

[]'s Rafael Spilki

Link para o comentário
Compartilhar em outros sites

  • 0

por aqui tudo bem e ai Rafael ?

sim, tinha sido só nessa mesmo... eu mudei o nome dos hiddens para "zero" e "um", e mudei no codigo do insert tambem

<!--#include file="conexao.asp"-->
<%

call abre_conexao
Set R6 = server.createobject("ADODB.RecordSet")



contador = request.form("cdescri")
for x = 1 to contador


cod_proj = request.form("cod_proj "&x&"")
cdescri = request.form("cdescri "&x&"")
ccum = request.form("ccum "&x&"")
obser = request.form("obser "&x&"")
ccusto2 = request.form("ccusto2 "&x&"")
cfil = request.form("cfil "&x&"")
zero = request.form("zero "&x&"")
qtd = request.form("qtd "&x&"")
um = request.form("um "&x&"")
codprodu = request.form("codprodu "&x&"")
usr = request.form("usr "&x&"")


Conexao.Execute "Insert Into REQ_REQUISICAO ( COD_USUARIO, COD_PRODUTO, TIPO_REQUISICAO, QTDE_SOLICITADA, QTDE_ATENDIDA, PRIORIDADE, STATUS, COD_FILIAL, COD_CCUSTO, OBSERVACAO, COD_PROPRIETARIO, UMEDIDA, DESCRICAO, COD_TECNOLOGIA_GESTOR) values ( " & usr & ", " & codprodu & ", " & um & ", " & qtd & ", " & zero & ", " & um & ", " & zero & ", " & cfil & ", " & ccusto2 & ", '" & obser & "', " & cfil & ", '" & ccum & "', '" & cdescri & "', " & cod_proj & ")"



next




call fecha_conexao
set r6 = nothing
%>


<script languange = "javascript">

alert("Requisição Concluida com Sucesso !");

</script>

mas agora estou tendo esse erro :

Tipo de erro:

Erro de tempo de execução do Microsoft VBScript (0x800A000D)

Tipos incompatíveis: 'contador'

/lider/reqins.asp, line 78

O que significa isso ?

Link para o comentário
Compartilhar em outros sites

  • 0
INCLINOMETRO C/ BASE DE IMÃ

o que??? isso é serio? mas cara... teu contador deveria passar um numero, tipo: 3, 5 ou 7 enfim... derepente 1 ou 2... depende do numero de registros que você tem no form...

teu contedor certamente esta errado se esta passando essa inf...

então assim: da uma olhadinha ali em como funciona o contador... eu coloquei ali em cima... verifica teu form e ve se acha o erro... se não conseguir posta o form aqui!

[]'s Rafael Spilki

Link para o comentário
Compartilhar em outros sites

  • 0

aham ¬¬

bonita cagada minha não acha ? eu acabei entrando no esquema da minha segunda opção, pensei q iria valer como um numero dependendo do numero de hiddens com esse nome, entendeu minha logica. (.Count).

agora eu vou arrumar o contador

<%i = i + 1

e depois encerra o loop

dai coloca o hidden abaixo

%>

<input name="contador" id="contador" type="hidden" value="<%=i - 1%>">

<%.

só uma coisinha, eu deveria colocar este contador na funçao que gera a minha tabela certo ?

mas ela sendo JS, não daria um conflito ?

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="text" name="qtd" value="'+document.getElementById("qtd2").value+'"> <input type="text"  id="zero" value="0" name="zero"> <input type="text" name="cod_proj" value="'+document.getElementById("cod_gestor33").value+'"> ' + document.getElementById("qtd2").value;

uni.innerHTML='<input type="text" name="ccum" value="'+document.getElementById("cum").value+'"> <input type="text"  id="um" value="1" name="um"> <input type="text" name="cdescri" value="'+document.getElementById("cdesc").value+'">' + document.getElementById("cum").value;

desc.innerHTML='<input type="text" name="cfil" value="'+document.getElementById("cod_gestor2").value+'"> <input type="text"  id="usr" name="usr" value="<%=Request.form("coder")%>"> <input type="text" name="obser" value="'+document.getElementById("obs").value+'">' + document.getElementById("cdesc").value;

bar.innerHTML='<input type="text" name="codbarra" value="'+document.getElementById("cbarra").value+'"> <input type="text" name="gencod" value="GEN_ID(GEN_REQ_REQUISICAO_ID,1)">' + document.getElementById("cbarra").value;

ape.innerHTML='<input type="text" name="codprodu" value="'+document.getElementById("codpro").value+'"> <input type="text" name="centrocusto" value="'+document.getElementById("sl2").value+'">' + document.getElementById("codpro").value;

}

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

  • 0

Acho que não... só não esqueça que mesmo os inputs sendo hidden da forma como está abaixo...

veja... é exatamente assim que deverá ser a sua estrutura!

<%
s = 1
while Not rs.EOF %>

<input name="teste<%=s%>" type="hidden" id="teste<%=s%>" value="<%Response.write rs("varaivel_bd")%>" size="12">

<%s = s + 1 
rs.MoveNext
Wend
%>
<input name="contador" id="contador" type="hidden" value="<%=s - 1%>">
sacou? tá bem mastigadinho aí... implanta isso no seu codigo depois coloca o insert exatamente assim:
contador = request.form("contador")
for i = 1 to contador
campoteste = request.form("campoteste "&i&"")
'dai vem a instrução de insert inserindo campoteste no bd
next

Sacou?

é exatamente assim... tenta ai que dará certo!

[]'s Rafael Spilki

Link para o comentário
Compartilhar em outros sites

  • 0

Opa, brigadao mesmo Rafael...

mas bem, não sei se eu fiz algum erro ou não mas, ao carregar para a pagina do insert, ele não mostra que deu certo e quando vou ver, ele deu insert nas 32 linhas em branco ( no meu caso o contador era = 32 )

<html>
<body>
            <form method="post" action="1.asp">

<%
s = 1
while Not r1.EOF %>

<input name="teste<%=s%>" type="text" id="teste<%=s%>" value="<%=r1("DESCRICAO")%>" size="12">

<%s = s + 1
r1.MoveNext
Wend
%>
<input name="contador" id="contador" type="hidden" value="<%=s - 1%>">

                                    <input type="submit" value="dadad">
            </form>


</html>
</body>

<%
contador = request.form("contador")
for i = 1 to contador
'response.write contador
'response.end
teste = request.form("teste "&i&"")
Conexao.Execute "Insert into TESTE (oi) values ( '" & teste & "' )"
next

Link para o comentário
Compartilhar em outros sites

  • 0

Bom, essa do 32 é que, nesse codigo teste que você me mandou com o while not eof, ele pega todos os registros de um determinado campo, e nesse campo tem 32 registros sacou ? o id dele é text então eu esperava adicionar 32 registros diferentes na tabela, é exatamente isso que ta ai pra você no post de cima

Link para o comentário
Compartilhar em outros sites

  • 0

Mas td bem... mas cade o seu select que deve trazer os registros do bd? tipo... isso aí que eu coloquei é um exemplo pra você ver como funciona... nesse exemplo que eu dei você faz um select do bd, coloca os resultados em inputs... esses inputs serão numerados automaticamente pelo contador e depois você insere input por input atraves de um loop na instrução insert ou no caso acima em um upate...

você deverá aplicar essa mesma lógica nos inputs que seu JS cria... ou seja... vai criando dinamicamente e a cada um que ele cria você vai adicionando +1 no contador...

mas você ta tentando incluir um input que vem vazio do form porque não tem select nenhum, sacou?

O que você deve fazer é aplicar isso dentro do seu código... entende? por isso não ta funcionando...

não sei se eu consegui me explicar... qualquer coisa posta aí... se continuar não conseguindo posta o seu form... não esse que eu mandei pra você.. mas sim o seu com a lógica que eu te passei aplicada a ele...

[]'s Rafael Spilki

Link para o comentário
Compartilhar em outros sites

  • 0

Desculpe, eu esqueci de avisar...eu tenho um select sim ;D

<!--#include file="conexao.asp"-->

<%
call abre_conexao

 sql = "Select CODIGO, DESCRICAO, COD_GESTOR, COD_RESPONSAVEL, COD_FILIAL_SUGERIDA from OS_TECNOLOGIA_GESTOR"
 set r1 = conexao.execute(sql)
%>

<html>
<body>
            <form method="post" action="1.asp">

<%
s = 1
while Not r1.EOF %>

<input name="teste<%=s%>" type="text" id="teste<%=s%>" value="<%=r1("DESCRICAO")%>" size="12">


<input name="testi>" type="text" id="testi" value="<%=r1("DESCRICAO")%>" size="12">

<%s = s + 1
r1.MoveNext
Wend
%>
<input name="contador" id="contador" type="hidden" value="<%=s - 1%>">

                                    <input type="submit" value="dadad">
            </form>


</html>
</body>

<%
call fecha_conexao
set r1 = nothing
set rs = nothing
%>

Link para o comentário
Compartilhar em outros sites

  • 0

testes e mais testes... segue:

form\/\/\/
<!--#include file="conexao.asp"-->
<%
call abre_conexao
sql = "Select * from OS_TECNOLOGIA_GESTOR"
set r1 = conexao.execute(sql)
%>
<html>
<body>
<form method="post" action="1.asp">
<%
s = 1
while Not r1.EOF %>
<input name="teste<%=s%>" type="text" id="teste<%=s%>" value="<%response.write r1("DESCRICAO")%>" size="12">
<%s = s + 1
r1.MoveNext
Wend
%>
<input name="contador" id="contador" type="hidden" value="<%=s - 1%>">
<input type="submit" value="submeter">
</form>
</html>
</body>

<%
call fecha_conexao
set r1 = nothing
set rs = nothing
%>




1.asp\/\/\/
<%contador = request.form("contador")
for i = 1 to contador
'response.write contador
'response.end
teste = request.form("teste"&i&"")
Conexao.Execute "Insert into TESTE (oi) values ('"&teste&"')"
next

%>
caso não funcione faça a 1.asp desta forma postando os resultados:
1.asp\/\/\/
<%contador = request.form("contador")
for i = 1 to contador
teste = request.form("teste"&i&"")
response.write "contador = " & contador & "<BR>"
response.write "teste = " & contador & "<BR>"
response.end
Conexao.Execute "Insert into TESTE (oi) values ('"&teste&"')"
next

%>

[]'s Rafael Spilki

Link para o comentário
Compartilhar em outros sites

  • 0

Exatamente essa mesma lógica aí! observe bem como ficaram os textfield e repita os mesmos procedimentos... adicionando o marcador ao lado do nome e do ID, assim:

<input name="teste<%=s%>" type="text" id="teste<%=s%>" value="<%response.write r1("DESCRICAO")%>" size="12">

Tome cuidado... você estava errando por causa de um espaço indevido e da falta de um response.write...

abração!

Link para o comentário
Compartilhar em outros sites

  • 0

Assim esta correto ?

var i  = 1;


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="text" name="qtd+i+'" value="'+document.getElementById("qtd2").value+'"> <input type="text"  id="zero+i+'" value="0" name="zero+i+'"> <input type="text" name="cod_proj+i+'" value="'+document.getElementById("cod_gestor33").value+'"> ' + document.getElementById("qtd2").value;

uni.innerHTML='<input type="text" name="ccum+i+'" value="'+document.getElementById("cum").value+'"> <input type="text"  id="um+i+'" value="1" name="um+i+'"> <input type="text" name="cdescri+i+'" value="'+document.getElementById("cdesc").value+'">' + document.getElementById("cum").value;

desc.innerHTML='<input type="text" name="cfil" value="'+document.getElementById("cod_gestor2").value+'"> <input type="text"  id="usr+i+'" name="usr+i+'" value="<%=Request.form("coder")%>"> <input type="text" name="obser+i+'" value="'+document.getElementById("obs").value+'">' + document.getElementById("cdesc").value;

bar.innerHTML='<input type="text" name="codbarra+i+'" value="'+document.getElementById("cbarra").value+'"> <input type="text" name="gencod" value="GEN_ID(GEN_REQ_REQUISICAO_ID,1)">' + document.getElementById("cbarra").value;

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


function cont(){
i =+1;

}

}
No caso, ele criaria a mesma coisa do
<input name="teste<%=s%>" type="text" id="teste<%=s%>" value="<%response.write r1("DESCRICAO")%>" size="12">

no lugar desse descriçao o valor do getelementbyID, até ai tudo bem...só estou com duvida em uma coisa, vejamos se vossa santidade pode me ajudar :

Se eu colocar o contador principal ai, o que define o numero de inserts que eu terei, ele vai "inputar" um hidden com um valor +1 a cada novo item, então não seria um valor unico, seriam varios hiddens "contador" com valores sempre +1, o q daria erros, até ai estou correto ou não estou errado ?

Você se recorda de alguém jeito que eu possa fazer ele de algum jeito que funcione ?

Veja o que acha do meu pensamento que tive a pouco :

Eu crio um hidden name="contador" com value="1" a cada item que eu insiro, aplicando a var 1 nele, obtendo cont1, 2 e assim por diante.....e na pagina do insert, eu somo:

contador = request.form("contador "&i&" ").Count

e uso esse valor para determinar o numero de inserts que terei.... esta correto meu raciocinio ?

Link para o comentário
Compartilhar em outros sites

  • 0

Que santitade o que! rsssssssssssss... Nem de longe! hahaha

Bom.. não entendi a sua dúvida... porque o objetivo é exatamente deixar sempre um input diferente do outro...

Tipo você ta criando vários inputs com o nome teste... com o contador sabemos que o primeiro vai ser teste1, depois, teste2, teste3 exatamente até o contador parar de somar chegando no contador-1... sabemos por tanto exatamente onde começa e "exatamente" onde termina... você precisa ter as diferencições de nomes... tipo teste1 pao1 papel1... porque so assim você vai conseguir inserir cada qual em seu campo...

Bom, quanto a esse seu código não consigo saber se está certo ou não... aparentemente está... mas sei pouco JS e essa sintaxe toda ai é basicamente JS...

Acho que tens que esperar alguém mais te dar um toquezinho aí... acho que agora com a logica em asp funcionando um cara que sei que pode te ajudar é o Jothaz... ele sabe bastante JS e tem fluência em asp tb... derepente ele consegue casar os dois!

Abração aí pra você!

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...