Ir para conteúdo

POWERED BY:

Arquivado

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

pedrovisk

Submit através de link + parametro

Recommended Posts

Galera,

 

Estou tentando fazer um submit através de um link, pode ser um botão tbm, mas que passe parametros como o IDProduto. Não estou conseguido pq os produtos são exibidos todos na tela e não tem como a outra pagina diferenciar um poduto do outro, apenas através do IDProduto.

 

você pode acessar o sistema em: http://www.fortalmag.com.br/2006/

Login: pedrovisk

Senha: 123

 

A próxima página funciona como um Carrinho de Compras, pois o proposito deste sistema é de um orçamento online.

 

While ((Repeat1__numRows <> 0) AND (NOT rsProd.EOF)) %><tr class="texto_Cinza2">   <td width="46%"><%=(rsProd.Fields.Item("NomeProduto").Value)%><span class="texto_Cinza_Bold_02">   <input name="Quantidade" type="hidden" id="Quantidade" value="1">   </span></td>   <td width="12%" align="center"><%=(rsProd.Fields.Item("Modelo").Value)%> </td>   <td width="33%" align="center"><%=(rsProd.Fields.Item("NomeTipo").Value)%></td>			   <td width="9%" align="center"><span class="texto_Cinza_Bold_02">			input type="button" name="Submit" value="SIM" onclick="java script:this.form.action='Processa_Solicita_Orcamento.asp?IDProduto=<%=(rsProd.Fields.Item("IDProduto").Value)%>';this.form.submit();" class="text_01">		  </span>		  </tr><%   Repeat1__index=Repeat1__index+1  Repeat1__numRows=Repeat1__numRows-1  rsProd.MoveNext()Wend%>
Como você pode ver, existem vários produtos e preciso que a próxima página receba apenas o ID do produto selecionado, clicado ou outra forma.

 

Já que a próxima página não está recebendo o ID, veja o erro gerado:

 

Tipo de erro:

Microsoft JET Database Engine (0x80040E14)

Erro de sintaxe (operador faltando) na expressão de consulta 'IDProduto='.

/fortalmag_2006/Sistema/Processa_Solicita_Orcamento.asp, line 21

 

Abaixo está o código da página, erro acima, Processa_Solicita_Orcamento.asp

 

<% Sub adicionac(nIDPreOrcamento, nIDProduto, nQuant)textosql = "INSERT INTO Pedido (IDPreOrcamento, IDProduto, Quantidade) values ("&nIDPreOrcamento&", "&nIDProduto&", "&nQuant&")"abredb.Execute(textosql)Response.Redirect "Exibe_Solicita_Orcamento.asp"End Sub'Obtem os parametros da pagina Solicita_Orcamento.aspintIDPreOrcamento = cstr(Session("IDPreOrcamento"))intIDProduto = Request.form("IDProduto")intQuant = Request.form("Quantidade")'Montando a conexaoStringdeConexao = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= c:\web\fortalmagcombr\database\Fortalmag.mdb"Set abredb = Server.CreateObject("ADODB.Connection")abredb.Open(StringdeConexao)'Incrementa o Contador do Produto. Este eh usado para fazer os campeoes de venda.Set rs = abredb.execute("SELECT Contador FROM Produto WHERE IDProduto=" & intIDProduto)'If VersaoDb = 1 Then'	abredb.execute("UPDATE Produto SET Contador='" & rs("Contador") + 1 & "' WHERE IDProduto='" & intProdID & "'")'Else	abredb.execute("UPDATE Produto SET Contador=" & rs("Contador") + 1 & " WHERE IDProduto=" & intIDProduto)'End Iftextosql = "SELECT * FROM Pedido WHERE CodPreOrcamento ='" & intOrderID & "' AND IDProduto ='" & intIDProduto & "';"Set adiciona = abredb.Execute(textosql)If adiciona.EOF Then	txtInfo = "adicionado"  	adicionac intIDPreOrcamento, intIDProduto, intQuant	'Chama dados do produto	Set rsProdInfo = abredb.Execute("SELECT * FROM Produto Where IDProduto="&intIDProduto)	Nome = rsProdInfo("NomeProduto")	rsProdInfo.Close	Set rsProdInfo = NothingEnd If%>

Meu muito obrigado,

 

Pedro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito obrigado Adriano!

 

E agora como faço utilizando o OnChange em um input? Fiz como abaixo, mas não está funcionando

 

O nome do form é Solicita_Orcamento

 

<input onChange="document.forms['Solicita_Orcamento'].action= 'Atualiza_Lista_Produtos.asp?Acao=Atualizar&Produto=<%=(rsPed.Fields.Item("IDProduto").Value)%>&Qtd=<%=(rsPed.Fields.Item("Quantidade").Value)%>'; document.forms['Solicita_Orcamento'].submit()" name="Qtd" type="text" class="text_01" id="Qtd" value="<%= Trim((rsPed.Fields.Item("Quantidade").Value)) %>" size="5">

Compartilhar este post


Link para o post
Compartilhar em outros sites

Adriano,

 

Com o onbluer tbm fucou legal, mas como nesta página eu tenho um loop que descarrega vários recordsets, gera tbm várias textbox com o mesmo nome, fazendo com que vários registros sejam enviados a próxima página onde terá um request("Quantidade").

Veja abaixo o SQL gerado com a atual situação:

 

UPDATE Pedido SET Pedido.IDPreOrcamento = 10, Pedido.IDProduto = 5, Pedido.Quantidade = '4, 1';

Abaixo está o código do input

 

<input onBlur="document.forms['Solicita_Orcamento'].action= 'Atualiza_Lista_Produtos.asp?Acao=Atualizar&Produto=<%=(rsPed.Fields.Item("IDProduto").Value)%>&Qtd=<%=(rsPed.Fields.Item("Quantidade").Value)%>'; document.forms['Solicita_Orcamento'].submit()" name="Qtd" type="text" class="text_01" id="Qtd" value="<%= Trim((rsPed.Fields.Item("Quantidade").Value)) %>" size="5">

Como eu posso corrigir estas várias inserções?

 

Obrigado,

 

Pedro.

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.