Jump to content


Photo

Identificação De Botões Gerados Por Loop


  • Faça o login para participar
4 replies to this topic

#1 DanPRO7

DanPRO7

    Novato no fórum

  • Usuários
  • 4 posts
  • Sexo:Masculino
  • Localidade:Distrito Federal

Posted 27/08/2010, 13:35

Beleza pessoal?

é o seguinte ta ai o meu dilema

gerar tabela com datas e botões submits ao lado de cada data automaticamente puchando do Mdb (isso eu já fiz)


penso em enviar um determinado valor com cada botão para filtrar o mdb porém tenho dois probleminhas nisso...

1º não imagino como fazer para que botões gerados por loop possam enviar informações distintas

2º não ler uma VARIÁVEl enviada por um botão...sempre aparece o conteudo em branco, porem ao trocar a variavel por um numero qualquer eu recebo resposta...

ta ai uma ideia de como deveria ficar o esquema:


OUT/2010 | *botão* | //link para: "pagina_de_exibição.asp" (envia x)

NOV/2010 | *botão* | //link para: "pagina_de_exibição.asp" (envia y)

DEZ/2010 | *botão* | //link para: "pagina_de_exibição.asp" (envia z)


Pagina de exibição:


se botão x então OUT/2010

se botão y então NOV/2010

se botão z então DEZ/2010

Beleza pessoal?

é o seguinte ta ai o meu dilema

gerar tabela com datas e botões submits ao lado de cada data automaticamente puchando do Mdb (isso eu já fiz)


penso em enviar um determinado valor com cada botão para filtrar o mdb porém tenho dois probleminhas nisso...

1º não imagino como fazer para que botões gerados por loop possam enviar informações distintas

2º não ler uma VARIÁVEl enviada por um botão...sempre aparece o conteudo em branco, porem ao trocar a variavel por um numero qualquer eu recebo resposta...

ta ai uma ideia de como deveria ficar o esquema:


OUT/2010 | *botão* | //link para: "pagina_de_exibição.asp" (envia x)

NOV/2010 | *botão* | //link para: "pagina_de_exibição.asp" (envia y)

DEZ/2010 | *botão* | //link para: "pagina_de_exibição.asp" (envia z)


Pagina de exibição:


se botão x então OUT/2010

se botão y então NOV/2010

se botão z então DEZ/2010


Obs.:Os n submit são criados nesse modelo:<input name='x'type='hidden' value='" & session(x) & "'></input>
<input name='x' type='submit' value='visualizar' />

E eu chamo as variaveis dessa forma: x = request.form("x")



#2 LeoB

LeoB

    Super Veterano

  • Usuários
  • 1876 posts
  • Sexo:Masculino
  • Interesses:Programação

Posted 27/08/2010, 15:06

A única maneira de botões enviarem informação, sem usar javascript nem nada, é através do nome ou do valor dele. Como o valor provavelmente você vai usar pra dizer o que o botão faz, sobra usar o nome. Ex:

<form action="pagina_de_exibição.asp" method="get">
<ul>
<li>OUT/2010 | <input type="submit" name="bt_10_10" value="Visualizar"></li>
<li>NOV/2010 | <input type="submit" name="bt_11_10" value="Visualizar"></li>
<li>DEZ/2010 | <input type="submit" name="bt_12_10" value="Visualizar"></li>
</ul>
</form>

Ao testar esse código, você vai ver que só os dados do botão clicado vão aparecer na URL. Os outros não. Daí, no seu ASP:

For Each Campo In Request.QueryString
   If Left(Campo, 3) = "bt_" Then
       Partes = Split(Campo, "_")
       Mes = Partes(1)
       Ano = Partes(2)
       ' Faz o que tem que fazer
       Exit For
   End If
Next


#3 DanPRO7

DanPRO7

    Novato no fórum

  • Usuários
  • 4 posts
  • Sexo:Masculino
  • Localidade:Distrito Federal

Posted 28/08/2010, 01:56

A única maneira de botões enviarem informação, sem usar javascript nem nada, é através do nome ou do valor dele. Como o valor provavelmente você vai usar pra dizer o que o botão faz, sobra usar o nome. Ex:

<form action="pagina_de_exibição.asp" method="get">
<ul>
<li>OUT/2010 | <input type="submit" name="bt_10_10" value="Visualizar"></li>
<li>NOV/2010 | <input type="submit" name="bt_11_10" value="Visualizar"></li>
<li>DEZ/2010 | <input type="submit" name="bt_12_10" value="Visualizar"></li>
</ul>
</form>

Ao testar esse código, você vai ver que só os dados do botão clicado vão aparecer na URL. Os outros não. Daí, no seu ASP:

For Each Campo In Request.QueryString
   If Left(Campo, 3) = "bt_" Then
       Partes = Split(Campo, "_")
       Mes = Partes(1)
       Ano = Partes(2)
       ' Faz o que tem que fazer
       Exit For
   End If
Next


vlw pela ajuda broder mas ainda fica pendente a questão do nome do form ser uma variavel...

#4 LeoB

LeoB

    Super Veterano

  • Usuários
  • 1876 posts
  • Sexo:Masculino
  • Interesses:Programação

Posted 28/08/2010, 09:11

Qual o problema?

While Not Rs.EOF
   %><li><%=Rs("Mes")%>/<%=Rs("Ano")%> | <input type="submit" name="bt_<%=Rs("Mes")%>_<%=Rs("Ano")%>" value="Visualizar"></li><%
   Rs.MoveNext
Wend


#5 DanPRO7

DanPRO7

    Novato no fórum

  • Usuários
  • 4 posts
  • Sexo:Masculino
  • Localidade:Distrito Federal

Posted 28/08/2010, 11:18

Qual o problema?

While Not Rs.EOF[color="#9932CC"]
   %><li><%=Rs("Mes")%>/<%=Rs("Ano")%> | <input type="submit" name="bt_<%=Rs("Mes")%>_<%=Rs("Ano")%>" value="Visualizar"></li><%
   Rs.MoveNext[/color]
Wend


Hehehe meu código insiste em não mostrar o conteúdo das variaveis...

Vou rever meu código

deve ter alguma coisa dando conflito...

Veja bem


dim i
i=0

<li><input name='' type='hidden' value='OUT/2010 | '><input type='submit' name='" & i & "' value='Visualizar'></li>

Esse ta sendo o problema.

Ele identifica e posta normalmente o valor quando defino um nome qualquer, porém ao definir uma variavel ele não consegue recuperar o valor.

Ele identifica o botão normalmente. Inclusive na url aparece o nome do submit corretamente, porém, nao consegue retornar o valor...

Já entendi...

O que ocoreu foi que eu não defini todos os campos no name do input submit

Ex.: i_2_3
Eu defini somente i
Com a correção ele voltou a funcionar hehe
Valeu a força!

[RESOLVIDO]

Edição feita por: DanPRO7, 28/08/2010, 10:58.





1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq