Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

kania

[Resolvido] Recuperar valor do campo input

Recommended Posts

Opa pessoal

 

Gente to com uma dúvida aqui.

 

Vejam tenho uma lista de preços onde em uma das colunas tenho um campo imput de quantidade, ou seja o cara verifica o produto e diz a quantidade que quer e clica em adicionar no carrinho, bom o ID e Name deste campo estão sendo formados por um contador

 

Contador = 0
	Do until RS.EOF

	Contador = Contador + 1
	Campo = "Quant"&Contador

e no campo e Id e Name eu chamo a variavel Campo, isto quer dizer que tenho cada campo com um id e name diferente, agora vem a duvida.

Como eu faço um resquest.form deste tipo de campo uma vez que eu não sei qul é o ID ou NAME do campo que o usuário esta selecionando?

a verdade nem sei se tem como fazer isto, nunca fiz.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara para chamar o campo input seria assim

 

este é mais ou menos como ficara seu input, nme que na tag name eu coloquei teste

 

<input type="text" name="teste" size="35">

depois do post o usuário é encaminhado para a outra page, lá eu recupero o valor deste campo input resgatando o request.form e nomeando o nome do campo que neste caso é teste

 

Response.Write(request.form("teste"))

Pronto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa Patric, cara como chamar na verdade eu sei o probelma é assim, como eu tenhouma lista, e os campos recebem o ID e o NAME conforme o Contador o nome do campo modifica a cada nova linha, veja o código abaixo

 

Contador = 0
Do until RS.EOF
Contador = Contador + 1
Campo = "Quant"&Contador 'AQUI VEM O ID E O NAME DO CAMPO INPUT
RS.movenext
loop

Como viu eu gero o NAME E iID do campo pelo contador para diferenciar cada, pq imagine que se todos tiverem o mesmo NAME e ID na hora de chamar ele pelo request, como o request vai saber de qual imputi eu quero pegar o valor, entende?

 

ai os campos ficam mais ou mesmos assim

 

Criando o campo

<input type="text" id="<%=Campo%>" name="<%=Campo%>" value="1" size="5" class="CampoQuantidade" />

Campo no HTML

 

<input type="text" id="Quant1" name="Quant1" value="1" size="5" class="CampoQuantidade" />
<input type="text" id="Quant2" name="Quant2" value="1" size="5" class="CampoQuantidade" />
<input type="text" id="Quant3" name="Quant3" value="1" size="5" class="CampoQuantidade" />
<input type="text" id="Quant4" name="Quant4" value="1" size="5" class="CampoQuantidade" />

e assim por diante conforme a quantidade de linhas que o Contador pegar.

Bom ai é que vem o probelma porque como vou fazer um:

 

Request.Form("NOMEDOCAMPO") uma vez que o nome do campo modifica a cada linha criada?

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloque uma querystring no form... assim com o nome do campo atual no POST do form

 

cadastro.asp?campo=Quant1

 

dae na página seguine você recupera o nome do campo por request.querystring passada pelo post do form

 

request.querystring("campo")

e faz a montagem para pegar o form

 

variavel = request.querystring("campo")

campo = request.form(variavel)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa Patrique, então fera fiz como falou apesar de ja ter feito anteriormente e esta dando erro fiz assim

 

Quant = Request.QueryString ("Ca")
BQuant = Request.Form(Quant)

erro

 

error 'ASP 0102 : 80004005'

Expecting string input

The function expects a string as input

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na verdade não o Request.QueryString("Ca") esta vindo por variavel e o Request.Form ("Variavel") eu pego da variavel criada da Request.QueryString não seria ista a lógica?

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara não estou entendendo coloque seu code completo ae para eu analizar o que tu esta querendo, ou então reformule a dúvida

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa vamos lá

 

 

Código que monta a tabela via ajax

 

<%
Produto = Request("NomePorduto")
	'BUSCO NO BANCO O PRODUTO CONFORME OS DADOS DIGITADOS NO CAMPO
	Set RS = Server.CreateObject("adodb.recordset")
	SQL = "select * from jrm_produtos order by nome asc"
	RS.Open SQL,Conn,3,3
	
	'CONTO QUANTOS PRODUTOS FORAM ENCONTRADOS COM O NOME DIGITADO
	Set RSConta = Server.CreateObject("adodb.recordset")
	SQL = "select Count(Nome) as Total from jrm_produtos"
	RSConta.Open SQL,Conn,3,3
%>
<table width="100%" border="0" cellspacing="0" cellpadding="0" id="TbTotal">
  <tr>
	<td>Foram encontrados <strong><%=RsConta("Total")%></strong> produtos</td>
  </tr>
</table>
	
<table width="100%" border="0" cellspacing="0" cellpadding="0" id="TbBuscaProdutos">
  <tr id="TitulosBuscaProdutos">
	<td>Código</td>
	<td>Produto</td>
	<td>Marca</td>
	<td>
	<% If request.QueryString("Tipo") = "1" Then%>
	Preço sem nota
	<%Else%>
	Preço com Nota
	<%End If%>
	</td>
	<td>Quant.</td>
	<td>Colocar</td>
  </tr>
  <tr>
	<td colspan="6" height="5"></td>
  </tr>
<%
	Contador = 0
	Do until RS.EOF
	Codigo = Rs("Codigo")
	Nome = Rs("Nome")
	Marca = Rs("Marca")
	If Marca = "." Then
	Marca = "<span style=""color:#F00;"">NÃO INFORMADA</span>"
	End IF
	PrecoVenda = Rs("Preco_Venda")
	PrecoNota = Rs("Preco_Nota")
	Imposto = Rs("Imposto")
	Contador = Contador + 1
	Campo = "Quant"&Contador
%>
<tr id="ResultadoBuscaProdutos"  onMouseOver="this.style.backgroundColor='#FFD7D7';" onMouseOut="this.style.backgroundColor='';">
	<td><%=Codigo%></td>
	<td><%=Nome%></td>
	<td><%=Marca%></td>
	<td>
	<% If request.QueryString("Tipo") = "1" Then%>
	<%=FormatCurrency(PrecoVenda,2)%>
	<%Else%>
	<%=FormatCurrency(PrecoNota,2)%>
	<%End If%>
	</td>
	<td colspan="2">
	 <form action="#" method="Post" id="FormQuantidade" name="FormQuantidade">
		<input type="text" id="<%=Campo%>" name="<%=Campo%>" value="1" size="5" class="CampoQuantidade" />
		  
<input type="image" src="imagens/mais.png" class="BotaoMais" onclick="java script:ajaxLoad('fazer_orcamento.asp?Cod=<%=Codigo%>&Cad=S&Ca=<%=Campo%>','Carrinho'); return false; "/>
	  </form>
	</td>
  </tr>
<%
RS.movenext
loop
%>
</table>
<%
Rs.Close
Set Rs = Nothing
%>

separei somente aparte que destina-se ao campo

 

<form action="#" method="Post" id="FormQuantidade" name="FormQuantidade">
		<input type="text" id="<%=Campo%>" name="<%=Campo%>" value="1" size="5" class="CampoQuantidade" />
		  
<input type="image" src="imagens/mais.png" class="BotaoMais" onclick="java script:ajaxLoad('fazer_orcamento.asp?Cod=<%=Codigo%>&Cad=S&Ca=<%=Campo%>','Carrinho'); return false; "/>
	  </form>

e aqui eu recupero os dados do capo acima

 

NCampo = Request.QueryString("Ca")
BQuant = Request.Form(NCampo)

lembrando que a lista monta um campo em cada linha e a variavel "Campo" é montada junto com um contador para dar uma id diferente para cada campo para que seja possivel recuperar ela posteriormente

 

Contador = 0
Do until RS.EOF
Contador = Contador + 1

.......

Campo = "Quant"&Contador 'AQUI VEM O ID E O NAME DO CAMPO INPUT

.......

RS.movenext
loop

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente recuperar apenas colocando o request

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa descupa, realmente esqueci do arquivo de conexão

 

Arquivo config.asp

 

'PREPARA TODAS AS CONFIGURAÇÕES DE TEXTO PARA ASP
'PADRÃO PT-BRASIL INTENACIONAL
Response.ContentType = "text/html"  
Response.AddHeader "Content-Type", "text/html;charset=UTF-8"  
Response.CodePage = 65001  
Response.CharSet = "UTF-8"


'CONEXÃO NO SERVIDOR REMOTO
Set conn = Server.CreateObject("ADODB.Connection") 
conn.Open("DRIVER={MySQL ODBC 3.51 Driver};SERVER=mysql01.grupoeagle.com.br;PORT=3306;DATABASE=grupoeagle;USER=grupoeagle;PASSWORD=XXXXXXXXXXXXXXX;OPTION=3;")

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cria um campo input hidden e armazena a quantidade de INPUT criada para quant.

 

Na outra página, tendo o total vindo desse input hidden, faça um FOR para ler os parâmetros.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Hargon, obrigado por sua resposata, fera desculpa minha ignorancia, porem não entendi bem como fazr, até criar o campo hidden bleza, agora veja tenho a lista, dentro dela cada linha seu campo com seu respectivo nome "Quant" 1,2,3,4,5 etc, conforme a quantidade de linhas do registro, por padrão coloquei o value do campo todos com 1 porem se o usuário quiser ele pode modificar para a quantidade que for necessária, uma vez que ele clique em adicionar uma rotina ajax pega o código do produto e envia para o carrinho atualizandoa listagem dos produtos, tirando a questão da quantidade o resto esta funcionando certinho, só quantidade que não pq como o campo modifica o nome "ID" dele a cad linha não consigo fazer o request.form("nome_do_campo") como vou dizer a ele para pegar os dados vindo do campo TAL se não sei qual é no me do campo TAL que oc ara clicou? pensei em fazer isto bvia javascript, mas parei no mesmo problema.

 

Bom sua dica de montar um for não entendi com fazer, se puder me dar um exemplo de como eu faria isto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ja tentou pegar os nomes e id´s dos campos criados e armazenar em uma session...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você consegue pegar o código do produto na outra página? Pq então, ao invés de quant1, quant2, etc, você poderia utilizar quant + código do produto.

 

Na outra página você pegaria primeiro o código do produto e uniria ao quant.

Ex.

codigo = Request.Form("cdproduto")
quant = Request.Form("quant" & cdproduto)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nossa como vou fazer isto? Até porque penso que hoje a lista do cliente já esta com quase 800 produtos, seriam 800 session, isso não acarretria um sobregarrego do sistem desnecessário? se é que eu entendi a sua colocação

Compartilhar este post


Link para o post
Compartilhar em outros sites

oO nao entendi quase nada da sua duvida entao você quer adicionar ao carro compras um produto, qual é entao o problema?

 

 

pk nao faz assim:

<input type="text" name="qtd" value="" />
<input type="hidden" name="id" value="rs(id)"/>

 

e depois na outra pagina pega

 

qtd=request.form("qtd")
cod=request.form("id")

 

desculpe se entendi mal sua questao

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.