• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

overcloked

[ASP][HTML] Construção de varios <input> num ciclo

5 mensagens neste tópico

Aqui venho eu outra vez com mais uma duvida, qq dia tenho de vos pagar a todos um copo :D

Ora passando para a duvida, o que quero fazer é o seguinte:

Listar varios produtos de uma BD em SQL (feito)

Ao listar os produtos contruo uma tabela com varias <tr> e <td> para mostrar: preço; detalhes; imagem; quantidade etc... (tudo feito exepto a quantidade)

Quando cheguei à quantidade bloqueei num sei como hei-de fazer, uma vez que cada <input> tem de ter um name="" unico para depois saber que  quantidade  ta associada ao produto que o cliente escolheu.

O site tá com este aspecto:

mf8tf.th.jpg

O que eu quero é quando o cliente clica em "comprar" no url vá a quantidade mas n sei como hei-de ir buscar o valor do <input type="text">  :P

Tks in advance :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Deixem já consegui :P

Deixo aqui o codigo, pode dar jeito:

As td e tr dentro de um ciclo while not resultset.EOF

  <tr>
    <td width="150" height="100" rowspan="2" align="center"><img width="80" height="80" src="/Produtos/Imagens/<%=ProdutoImagem%>" /></td>
    <td colspan="4" align="left"><span class="style32"><%=ProdutoNome%></span></td>
  </tr>
  <tr>
    <td width="183"> </td>
    <td colspan="3"> </td>
  </tr>
  <tr>
    <td width="150" align="center" bgcolor="#00578C"><a href="javascript:popUp('verProduto.asp?IdProduto=<%=ProdutoID%>')">
     <span class="style13">Detalhes</span></a></td>
    <td width="200" align="center" bgcolor="#95ACCC"><span class="style23"><%=ProdutoPreco%> € </span></td>
    <td align="center" bgcolor="#00578C"> </td>    
       <form action="" method="post" name="FormQuantidade" class="style1" id="FormQuantidade">
    <td width="200" align="center" bgcolor="#00578C">
      <span class="style26">Quantidade</span>
      <input name="Quantidade" type="text" id="Quantidade" size="1" value="1" style="border:none" />   
   </td>
    </form> 
    <td width="114" align="center" bgcolor="#00578C"><img width="20" height="20" src="Imagens/img_shopcart2.gif" />
      <a href="AdicionarCarrinho.asp?IdProd=<%=ProdutoID%>"><span class="style26"> Comprar</span></a></td>
  </tr>

O que fiz foi por um botão de submit depois da imagem carrinho e depois com CSS disfarcei-o para parecer um link de texto simples.

O CSS que usei foi:

.ComprarBTO {
border-bottom:none;
background-color:#00578C;
font:Arial, Helvetica, sans-serif;
border:none;
color:#FFFFFF;
width:60px;
}

Com isto já consigo ir buscar o valor do  <input name="Quantidade" type="text" id="Quantidade" size="1" value="1" style="border:none" /> através do request.form("Quantidade")

O resultado na pagina produtos foi exactamente como tava antes com o Link em texto:

m1f2gn.th.jpg

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

lol

qd passares para o .net vais perceber que de repente... a programação simplificou-se bastante!!

Com um simples datagrid fazias isso num minuto. Porque cada linha da tabela tem um ID específico, e o que se faz é ir buscar a caixa de texto desse ID.

Mas estás a aprender as origens... tb é positivo!

1 abraço

Max

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

porque nao utilizas uma variavel global para guardar o valor da quantidade e assim ja tinhas como o passar de um lado para o outro.. crias um ficheiro do tipo asa... la publicas variaveis para que fiquem globais para todo o site...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já agora tal como o max disse em .net mt mais simples. e nao precisavas de um datagrid :( com um repeater (bem mais leve) conseguias isso :(

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora