Ir para conteúdo
Fórum Script Brasil

jocapt

Membros
  • Total de itens

    8
  • Registro em

  • Última visita

Sobre jocapt

jocapt's Achievements

0

Reputação

  1. Boa tarde, Agradecia a vossa ajuda para tentar resolver um problema. Tenho uma tabela em HTML que consigo mostrar o nº de linhas total com o script. O problema é que a tabela tem campos de filtros, logo caso filtre um campo o e o resultado final seja mostrado numa única linha, o script que fiz continua a mostrar o nº total de linhas e não quantidade 1. Alguém que me possa ajudar a resolver este problema? Este é o código da tabela: <table border="1" id="lista" > <tr> <td><input name="filt0" type="text" onKeyUp="filter('lista')" style="width: 111px" ></td> <td class="style13"><input name="filt1" type="text" onKeyUp="filter('lista')" style="width: 144px" ></td> <td><input name="filt2" type="text" onKeyUp="filter('lista')" style="width: 54px" ></td> <td class="style17"><input name="filt3" type="text" onKeyUp="filter('lista')" style="width: 100%" ></td> <td class="style21"><input name="filt4" type="text" onKeyUp="filter('lista')" style="width: 100%" ></td> <td><input name="filt5" type="text" onKeyUp="filter('lista')" ></td> <td><input name="filt6" type="text" onKeyUp="filter('lista')" /> </td> </tr> <% If RecProjecto002.EOF And RecProjecto002.BOF Then Response.Write "" Else RecProjecto002.MoveFirst While Not RecProjecto002.EOF%> <tr> <td class="style15" ><%=RecProjecto002("Local_geografico")%></td> <td class="style16" ><%=RecProjecto002("Edificio")%></td> <td class="style15" ><%=RecProjecto002("Piso")%></td> <td class="style17" ><%=RecProjecto002("Servico")%></td> <td class="style21" ><%=RecProjecto002("Sector_Nome")%></td> <td class="style15" > <%=RecProjecto002("N_telefone")%></td> <td class="style15" ><%=RecProjecto002("N_Intercomunicador")%></td> </tr> <%RecProjecto002.MoveNext%> <% Wend End If %> </table> </div> <button type="button" onclick="displayResult()">Mostra o nº de linhas da tabela</button> Este é Script que mostra o nº de linhas: <script> function displayResult() { alert(document.getElementById("lista").rows.length -1); } </script>
  2. jocapt

    ASP

    Não estou a conseguir ultrapassar eset problem, estou completamente bloqueado. Falas um usar Um for, Podes dar-me uma dica de como usar?
  3. jocapt

    ASP

    O resultado não é vários valores, aliás quando seleccionamos a linha por exemplo 300, o resultado é o que espero, ou seja, ele mostra-me o detalhe daquela linha, ou seja, a selecção está a ser bem feita, o meu problema é que na URL ele lê desde primeira lnha até chegar aos 300 inclusivê o que faz com que se por caso houver 1000 linhas, A uRL é demasiado longa. ex: Se eu tiver duas linhas com o seguinte output Codigo - Descrição 0001 - Teste 1 0002 - Teste 2 Url lê a primeira linha o campo código depois a descrição, depois lê a segunda linha o campo codigo e a decrição assim sucessivamente, até encontrar a campo onde fiz check e mostra-me o resultado do respectivo campo. Ora se tiver mais de 1000- resultado UYRL Demasiado longo. Obrigado na mesma.
  4. jocapt

    ASP

    Não percebi muito bem de como o fazer. Neste caso como seria o código? Aqui é onde escolho tipo radio <input type="radio" name="Codigo" value="<%Response.Write RecProjecto002("Cod_artigo")%>" size="100" readonly=readonly style="font-size: x-small; width: 15px;" onKeyDown="Verificar2()" /> Aqui saõ os campos Tipo texto <input type= TEXT name="Codigo2" VALUE="<%=RecProjecto002("Cod_artigo")%>" size="10" readonly=readonly style="font-size: x-small; width: 100px;" onKeyDown="Verificar2()"/> <input type= TEXT name="Artigo" VALUE="<%=RecProjecto002("Artigo")%>" size="10" readonly=readonly style="font-size: x-small; width: 355px;" onKeyDown="Verificar2()"/>
  5. jocapt

    ASP

    O problema é que os Dados vem da Base de Dados, logo acho que o POST não deve resultar.
  6. jocapt

    ASP

    Boa tarde, Mais uma vez aqui estou com problemas. Tenho um código em ASP onde me mostra dinamicamente todos os artigos existentes na BD. Tenho um CheckBOX usando o Botão "radio" Aqui vai um exemplo: Script que faz o link das opções &lt;script> function enviar(p) { var destino; if (p == 5) destino = "http://Clisa-nt/LivroAsp/gestao_equipamentos_produtos_form2.asp"; else if (p == 6) destino = "http://Clisa-nt/LivroAsp/gestao_equipamentos_produtos.asp"; else if (p == 7) destino = "http://Clisa-nt/LivroAsp/gestao_equipamentos_produtos_form1.asp"; document.form1.method = "GET"; document.form1.action = destino; document.form1.submit(); } function limpar() { for (var i = 7; i <= 10; i++) { form1.elements[i].value = "" } form1.elements[7].focus() } </script> O form do código: <form name=form1 method="GET"> <div align="center"><center><table border="0" cellspacing="0" style="width: 115%"> <tr> <td align="center" bgcolor="#0000FF"><font color="#FFFFFF" size="2" face="Tahoma"><strong>Consulta de Protocolos</strong></font></td> </tr> <tr> <td valign="top" width="70%" bgcolor="#008080"> <input type="submit" name="OK" value="OK" onClick=enviar(7) style="width: 112px"> </tr> <br /> </td> </tr> <tr> <td><table border="0" cellspacing="3" width="100%" bgcolor="#8000FF" style="height: 39px"> <tr><th><td> </td></th></tr> <tr> <% If RecProjecto002.EOF And RecProjecto002.BOF Then Response.Write "Existem 0 registos." Else RecProjecto002.MoveFirst While Not RecProjecto002.EOF%> <input type="radio" name="Codigo" value="<%Response.Write RecProjecto002("Cod_artigo")%>" size="100" readonly=readonly style="font-size: x-small; width: 15px;" onKeyDown="Verificar2()" /> <input type= TEXT name="Codigo2" VALUE="<%=RecProjecto002("Cod_artigo")%>" size="10" readonly=readonly style="font-size: x-small; width: 100px;" onKeyDown="Verificar2()"/> <input type= TEXT name="Artigo" VALUE="<%=RecProjecto002("Artigo")%>" size="10" readonly=readonly style="font-size: x-small; width: 355px;" onKeyDown="Verificar2()"/> <%Response.Write "<HR>"%> <%RecProjecto002.MoveNext%> <% Wend End If %> </table> </td> </tr> </table> </center></div> </form> Até aqui tudo bem, ou seja, consigo apresentar no ecrán os dados que quero, o problema vem a seguir, ou seja, se faço check numa das linhas e OK, diz-me Url Too Long O URL apresentado é damasiado longo http://clisa-nt/LivroAsp/gestao_equipamentos_produtos_form1.asp?OK=OK&Artigo=00000001+&Artigo=Teste+1+&Artigo=00000002+&Artigo=Teste+2+&Artigo=00000003+&Artigo=Teste+3+&Artigo=00000004+&Artigo=Teste+4+&Codigo=00000005+&Artigo=00000005+&Artigo=Teste+5+&Artigo=00000006+&Artigo=Teste+6+&Artigo=00000007+&Artigo=Teste+7+&Artigo=00000008+&Artigo=Teste+8+&Artigo=00000009+&Artigo=Teste+9+&Artigo=00000010+&Artigo=Teste+10+&Artigo=00000011+&Artigo=Teste+11+&Artigo=00000012+&Artigo=Teste+12+&Artigo=00000013+&Artigo=Teste+13 Há alguma maneira de ultrapassar este questão? Porque se tiver mais de 1000 linhas, não consigo fazer check a partir do botão radio. Desde já agradeço a vossa ajuda que tem sido muito preciosa.
  7. jocapt

    ASP

    Já alterei mas o problema continua COMANDO="insert into MENUS.DBO.GIE_Artigos_Tipo(Cod_Tipo,descricao_tipo)values('"& VServico &"', '"& VEdificio &"')" set RecProjecto002=BdProjecto002.Execute(COMANDO)
  8. jocapt

    ASP

    Boa tarde a todos, Tenho um problema na inserção de dados em BD que não estou a conseguir resolver. Tenho o seguinte formulário que recebe dois campos <%@language=Vbscript %> <!--#include Virtual="/meus_ssi/conecta_clisare007.asp"--> <head> <style type="text/css"> .style1 { width: 100%; } </style> </head> <%response.Buffer=true%> <%Sub alerta(mensagem) 'response.write "&lt;script>" response.write "('"&mensagem&"')" 'response.write "</script>" End Sub %> &lt;script language="JavaScript"> function Verificar() { var tecla = window.event.keyCode; if (tecla == 13) { alert("Não é permitido a tecla 'Enter'. Use o botão 'Gravar' para guardar os seus dados"); event.keyCode = 0; event.returnValue = false; } } </script> &lt;script language="JavaScript"> function Verificar2() { var tecla = window.event.keyCode; if (tecla == 08) { alert("Não é permitido a tecla BackSpace."); event.keyCode = 0; event.returnValue = false; } } </script> &lt;script> function enviar(p) { var destino; if (p==2) destino = "http://clisa-nt/LivroAsp/Gestao_Equipamentos_Insert_tipo_artigo_2.asp"; document.form1.method = "GET"; document.form1.action =destino; document.form1.submit(); } function limpar() { for (var i = 7; i <= 10; i++) { form1.elements.value = "" } form1.elements[7].focus() } </script> <html> <head> <title> Gestão de Instalações e Equipamentos</title> <style type="text/css"> .style1 { color: #FF0000; } .style2 { width: 20%; color: #FF0000; } .style3 { width: 23%; color: #FF0000; } .style4 { height: 18px; } </style> <h1 align="center" class="style1">Teste</h1> <h2 align="center" class="style1">Teste</h2> </head> <body> <form name=form1 method="GET"> <div align="center"><center><table border="0" cellspacing="0" bgcolor="GrayText" > <tr> <td align="center" bgcolor="#0000FF" class="style4"><font color="#FFFFFF" size="2" face="Tahoma"><strong>Criação de Produtos</strong></font></td> </tr> <tr> <td> <input type="submit" name="Alterar" value="Gravar " onClick=enviar(2)> </td> </tr> <table border="0" cellspacing="3" bgcolor="#8000FF" style="height: 74px;"> <tr> <td class="style2"><font color="#FFFFFF" size="2" face="Tahoma"><strong>Serviço</strong></font><font color="#FFFFFF" face="Tahoma"> <input type="text" size="20" name="Servico" style="width: 420px; margin-left: 25px;"></font> </td> </tr> <tr> <td class="style2"><font color="#FFFFFF" size="2" face="Tahoma"><strong>Edificio</strong></font><font color="#FFFFFF" face="Tahoma"> <input type="text" size="20" name="Edificio" style="width: 422px; margin-left: 23px;"></font> </td> </tr> </table> </table> </center></div> </form> <% BdProjecto002.Close set BdProjecto002=nothing %> </body> </html> O problema é que quando tento gravar usando o código abaixo, ele escreve na BD mas depois tenta escrever novamente. Como resultado, dá erro porque o campo é primary key. Parece que estou executando o comnado duas vezes. Aqui vai o insert. <%@language=Vbscript %> <!--#include Virtual="/meus_ssi/conecta_clisare007.asp"--> <% dim VServico,VEdificio dim COMANDO VServico=request.QueryString("Servico") VEdificio=request.QueryString("Edificio") COMANDO="insert into MENUS.DBO.GIE_Artigos_Tipo(Cod_Tipo)values('"& VServico &"', '"& VEdificio &"')" set RecProjecto002=BdProjecto002.Execute(COMANDO) 'response.Write (Comando) 'response.Write (VId_artigo) %> <html> <body> <% BdProjecto002.Close set BdProjecto002=nothing %> <%Response.AddHeader "Refresh","1 ; URL=http://clisa-nt/livroasp/Gestao_equipamentos_tipo_artigo.asp" %> </body> </html> O erro que me dá é: Microsoft OLE DB Provider for SQL Server error '80040e2f' Violation of PRIMARY KEY constraint 'PK__GIE_Artigos_Tipo__7EC1CEDB'. Cannot insert duplicate key in object 'DBO.GIE_Artigos_Tipo'. /LivroAsp/Gestao_Equipamentos_Insert_tipo_artigo_2.asp, line 17 Agradeço a vossa ajuda porque não vejo resolução para o mesmo, obrigado
×
×
  • Criar Novo...