panox Postado Outubro 21, 2008 Denunciar Share Postado Outubro 21, 2008 Ola, eu estou criando uma tabela atraves do JS com esta função :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="contador" id="contador" value="1">' + '<input type="hidden" name="zero'+i+'" id="zero'+i+'" value="0">' + '<input type="hidden" name="numreq'+i+'" id="numreq'+i+'" value="GEN_ID(GEN_REQ_REQUISICAO, 1)">' + '<input type="hidden" name="cod_proj_'+i+'" id="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" id="um'+i+'" value="1" name="um'+i+'"> <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" id="usr'+i+'" name="usr'+i+'" value="<%=Request.form("coder")%>"> <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+'"> <input type="hidden" name="centrocusto'+i+'" value="'+document.getElementById("sl2").value+'">' + document.getElementById("codpro").value; i++; } mandando para esta tabela : <table border="1" width="100%" cellspacing="0" cellpadding="5" id="tabela" name="tabela"> <tr bgcolor="#EAEBEF" bordercolorlight="#FFFFFF" bordercolordark="#E3E5EA"> <td width="12%" name="td1"><font color=#000099 type="verdana"><b>Codigo</b></font></td> <td width="15%" name="td2"><font color=#000099 type="verdana"><b>Codigo de Barra</b></font></td> <td width="50%" name="td3"><font color=#000099 type="verdana"><b>Descricao</b></font></td> <td width="3%" name="td4"><font color=#000099 type="verdana"><b>UM</b></font></td> <td width="1%" name="td5"><font color=#000099 type="verdana"><b>Quantidade</b></font></td> </tr> </table>O que eu gostaria de sabe se é possivel fazer, e como fazer é, adicionar em cada linha da tabela, um botao que, ao ser clicado, ele delete a linha em que ele esta.alguém saberia me dizer como fazer isto ?Muito Obrigado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 jothaz Postado Outubro 21, 2008 Denunciar Share Postado Outubro 21, 2008 Já pensou em ocultar a linha com style="display:none"? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jonathan Queiroz Postado Outubro 21, 2008 Denunciar Share Postado Outubro 21, 2008 Cara, se quiser ocultar use o "display: none", mas se quiser realmente deletar, recomendo que utilize este siteSe ajudar, posta aí porque pode ajudar outros membros também Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 panox Postado Outubro 21, 2008 Autor Denunciar Share Postado Outubro 21, 2008 não, nem sabia que isso existia ;DMas se eu ocultar a linha, ela vai ser passada pelo request.form ou não ? ( ela não pode ser passada ) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jonathan Queiroz Postado Outubro 21, 2008 Denunciar Share Postado Outubro 21, 2008 Você vai precisar recuperar essa linha depois?Se precisar, recomendo da apenas "display: none", mas se NÃO for mais usar deleta ela... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 panox Postado Outubro 21, 2008 Autor Denunciar Share Postado Outubro 21, 2008 não, não...eu preciso dela deletada mesmo. eu só estou pensando agora se com isso meu insert funciona, pois ele da insert dentro de um for next... se eu deletar a linha do meio por exemplo ( a segunda de 3 ) tenho medo que ele de erro por ser request.form(text1) e depois pule para o text3...já já eu testo esse link que voce me mandou e já posto aqui para os membros Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jonathan Queiroz Postado Outubro 21, 2008 Denunciar Share Postado Outubro 21, 2008 Beleza caraQualquer coisa se o script não funcionar posta aí Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 panox Postado Outubro 21, 2008 Autor Denunciar Share Postado Outubro 21, 2008 Bom, o codigo funciona... ele deletou a linha mas, se voce deleta alguma linha, da erro no insert por causa do contador. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jonathan Queiroz Postado Outubro 21, 2008 Denunciar Share Postado Outubro 21, 2008 Vou sair aqui mas quando voltar te respondoDevo voltar até as 17:30 por aífalow cara Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 panox Postado Outubro 21, 2008 Autor Denunciar Share Postado Outubro 21, 2008 Bom, o codigo funcionou...ele deleta certinho mas, se eu deleto a linha ele da pau no insert por causa do contador, ele pula a sequencia entendeu =XAcho que meu caso é terminal, é sem delete mesmo, se tiver errado o tecnico tem que dar refresh ;D Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jonathan Queiroz Postado Outubro 21, 2008 Denunciar Share Postado Outubro 21, 2008 Cara você pode tentar fazer isso:Você NÃO deleta, apenas dá "visibility: hidden" e muda o valor do campo hidden para algo como "nada", "no", "hidden", ou algo parecido.Quando chegar na outra página, você dá o loop normal e verifica se o valor do campo é "nada".Se o for, é porque o usuário clicou no botão "deletar". Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 panox Postado Outubro 21, 2008 Autor Denunciar Share Postado Outubro 21, 2008 Hmm...entendi sua ideia mas quero te perguntar duas coisinhas :1- Como atribuir a visibility : hidden e dar o valor nulo para ele atraves do click do botao2- veja como funciona o meu loop do insert :<!--#include file="conexao.asp"--> <% call abre_conexao contador = request.form("contador").Count for i = 1 to contador ' Response.write "INI"&i&"<BR><BR>cod_proj"&i&":"&request.form("cod_proj_"&i&"")&"<BR><BR>" cod_proj = request.form("cod_proj_"&i&"") cdescri = request.form("cdescri"&i&"") ccum = request.form("ccum"&i&"") obser = request.form("obser"&i&"") ccusto2 = request.form("centrocusto"&i&"") cfil = request.form("cfil"&i&"") zero = request.form("zero"&i&"") qtd = request.form("qtd"&i&"") um = request.form("um"&i&"") codprodu = request.form("codprodu"&i&"") usr = request.form("usr"&i&"") numreq = "GEN_ID(GEN_REQ_REQUISICAO, 1)" sql = "Insert Into REQ_REQUISICAO ( 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 ( "&numreq&", "&usr&", "&codprodu&", "&um&", "&qtd&", "&zero&", "&um &", "&zero &", "&cfil &", "&ccusto2&", '"&obser&"', "&cfil&", '"&ccum&"', '"&cdescri&"', "&cod_proj&")" set r1 = conexao.execute(sql) ' Response.write sql next call fecha_conexao %> <script languange = "javascript"> alert("Requisição Concluida com Sucesso !"); </script> <html> <meta http-equiv="refresh" content="1;url=logout.asp"> <body> </body> </html>Ele pega de acordo com o indice do da tabela, que a cada linha que crio na mesma, ela adiciona +1 ao indice...então, quando ele for fazer o loop vai dar erro por que vai estar faltando um indice, ao menos que tenha um modo de, ao deletar uma linha, mudar o nome dos inputs hiddens para um numero menor Por exemplo-tenho 3 linhas-deleto a linha 2-renomeio os itens da linha 3 para 2sacou ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jonathan Queiroz Postado Outubro 22, 2008 Denunciar Share Postado Outubro 22, 2008 Respondendo as perguntas:1- Como atribuir a visibility : hidden e dar o valor nulo para ele atraves do click do botao ?<html> <head> <script type="text/javascript"> function Esconde() { x = document.getElementById("divisao_esconder") x.style.visibility = "hidden" document.form.escondido.value="nada" } </script> </head> <body> <form name="form" action="pagina2.php" method="post"> <div id="divisao_esconder"> Texto que irá esconder...<br> <input type="hidden" name="escondido" value="entrada_que_seria_passada_se_o_usuário_não_excluísse"> <br> <input type="button" value="Esconder" onclick="Esconde()"> </div> </form> </body> </html>Aí depois você dentro de seu loop, verifica se o valor da entrada é "nada".Se for, não faz nada.Se for diferente de "nada", executa a função normalmenteEscrevi com pressa daqui a pouco vou desligar mas qualquer dúvida posta que amanhã respondo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 panox Postado Outubro 22, 2008 Autor Denunciar Share Postado Outubro 22, 2008 Eu estava analisando o codigo e infelizmente não pode ser desse jeito. Tambem olhei aqui com o pessoal, eles me disseram que quando eu deleto a linha, como ela é criada em um array, ela, ao ser deletada, reestrutura os indices do meu array, e quando eu debuguei vi que realmente isso é verdade, independente da linha em que eu deleto, os indices se ajustam e o contador se ajusta para o numero de arrays atual.Porem, no debug direto do insert, a cada linha que eu deleto, ele limpa o valor da linha de cima ou de baixo na hora do insert, como voces podem ver aquicod_proj1:4Insert Into REQ_REQUISICAO ( 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), 2, 3325, 1, 1, 0, 1, 0, 2103, 103, 'obs1', 2103, 'CJ', 'CONJUNTO DE BROCAS DE AÇO RAPIDO C/7PEÇAS', 4)cod_proj2:Insert Into REQ_REQUISICAO ( 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), , , , , , , , , , '', , '', '', )Contador = 2esta era uma tabela com 3 linhas, ao deletar a linha do meio, a terceira linha assumiu o array de numero 2 mas seus values ficaram em branco como podem ver.O que sera que esta acontecendo ? Vou postar o codigo que utilizo para criar e deletar linhas :deletar :function deleteRow(i) { document.getElementById('tabela').deleteRow(i) } Inserir ( com o botao que deleta junto ) 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 ape=x.insertCell(0) qt.innerHTML='<input type="hidden" name="qtd'+i+'" value="'+document.getElementById("qtd2").value+'">'+ '<input type="hidden" name="contador" id="contador" value="1">' + '<input type="hidden" name="zero'+i+'" id="zero'+i+'" value="0">' + '<input type="hidden" name="numreq' + i + '" id="numreq' + i + '" value="GEN_ID(GEN_REQ_REQUISICAO, 1)">' + '<input type="hidden" name="cod_proj_'+i+'" id="cod_proj_'+i+'" value="'+document.getElementById("cod_gestor33").value+'"> ' + document.getElementById("qtd2").value + ' <input type="button" value="-" onclick="deleteRow(this.parentNode.parentNode.rowIndex)">'; uni.innerHTML='<input type="hidden" name="ccum'+i+'" value="'+document.getElementById("cum").value+'"> <input type="hidden" id="um'+i+'" value="1" name="um'+i+'"> <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" id="usr'+i+'" name="usr'+i+'" value="<%=Request.form("coder")%>"> <input type="hidden" name="obser'+i+'" value="'+document.getElementById("obs").value+'">' + document.getElementById("cdesc").value; ape.innerHTML='<input type="hidden" name="codprodu'+i+'" value="'+document.getElementById("codpro").value+'"> <input type="hidden" name="centrocusto'+i+'" value="'+document.getElementById("sl2").value+'">' + document.getElementById("codpro").value; i++; }alguém tem ideia do que seja ? Obrigado desde já Abraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jonathan Queiroz Postado Outubro 22, 2008 Denunciar Share Postado Outubro 22, 2008 Não, caraFaz como eu lhe mostrei ali em cima.Você não vai precisar deletar linha nenhumaVocê apenas deixa ela invisível e muda o valor com campo "hidden" para "nada"Na outra página, você verifica se o valor do campo é "nada".Se for, não faz nada.Se não for, você executa o script normalmenteQualquer coisa posta aí Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 panox Postado Outubro 22, 2008 Autor Denunciar Share Postado Outubro 22, 2008 Bom cara, no script q você me mandou, ele esconde em dentro de um div certo ?... mas é que você escolhe aonde o div tem que ficar, no meu caso, não se sabe qual linha da tabela eu vou esconder. e tambem, ele tem que estar dentro de um form, no meu, todos estao no mesmo form. por isso que eu digo, eu ACHO q o jeito mais correto seria pelo que eu estou fazendo mesmo.Mas por esse jeito ainda da problema, eu dei um debug aqui e percebi o seguinte, quando o var i = 1 esta FORA da função que cria a tabela, o array não se reorganiza apos o delete, se eu deletar o 2 de 3, fico com text1 e text 3...Se eu colocar a var i = 1 DENTRO da função, os indices se organizam perfeitamente, mas ai, o insert vem " bagunçado ", ao invés de jogar os values nos determinados inserts, ele joga os values de todos, no primeiro.O que sera que esta confundindo de cada modo que eu faço ? -_-AbraçoHmm, outra coisa, as linhas não tem nome no form, nem os itens que aparecem escritos, não acho outra opção a não ser a minha mesmo, mas fico com o problema acima... alguém sabe como consertar isto ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
panox
Ola, eu estou criando uma tabela atraves do JS com esta função :
mandando para esta tabela :O que eu gostaria de sabe se é possivel fazer, e como fazer é, adicionar em cada linha da tabela, um botao que, ao ser clicado, ele delete a linha em que ele esta.
alguém saberia me dizer como fazer isto ?
Muito Obrigado
Link para o comentário
Compartilhar em outros sites
15 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.