Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 407
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

Função BLUR não recebe os dados ...

16-12-2009 21:06

Galera ta eu aqui novamente ....
Não consigo entender o porque que funciona de um jeito com um e de outro com outros ....
por exemplo, coloquei um tópico anterior onde não passava os dados com a função livequery, consegui resolver utilizando o live no lugar , só que , funciona para adicionar e excluir , no entanto não esta dando certo com a função blur que é para atualizar.
um exemplo qo que esta acontecendo pode ser visto no http://www.hidroweb.com/cariello

esta é a pagina carrinho.php
<?php require_once('Connections/loja.php'); ?> <?php error_reporting(0); $id_p=$_GET['id_p']; $idqtd=$_GET['idqtd']; $ip=$_SERVER['REMOTE_ADDR']; $acao=$_GET['acao']; if($acao=="mais"){ mysql_select_db($database_loja, $loja); $query_adicionar = "INSERT INTO carrinho (ip ,id_produto ,qtd)VALUES ('$ip', '$id_p', '1');"; $adicionar = mysql_query($query_adicionar, $loja) or die(mysql_error()); } if($acao=="menos"){ mysql_select_db($database_loja, $loja); $query_remover = "DELETE FROM carrinho WHERE carrinho.id = '$id_p' LIMIT 1 "; $remover = mysql_query($query_remover, $loja) or die(mysql_error()); } if($acao=="up"){ mysql_select_db($database_loja, $loja); $query_update = "UPDATE carrinho SET qtd = '$qtdp' WHERE carrinho.id = '$id_p' "; $update = mysql_query($query_update, $loja) or die(mysql_error()); } mysql_select_db($database_loja, $loja); $query_cart = "SELECT a.id, a.categ, a.produto, a.img, a.valor, b.id AS idcart, b.ip, b.id_produto, b.qtd AS qtdp, a.valor*b.qtd AS total FROM produtos a, carrinho b WHERE a.id=b.id_produto AND b.ip='$ip'"; $cart = mysql_query($query_cart, $loja) or die(mysql_error()); $row_cart = mysql_fetch_assoc($cart); $totalRows_cart = mysql_num_rows($cart); ?> <style> .itens_carrinho { font-size: 11px; font-family: Arial, Helvetica, sans-serif; } </style> <?php // Show IF Conditional region1 if (@$row_cart['produto'] != "") { ?> <table width="208" border="1" align="center" bgcolor="#EBEBEB"> <tr> <?php do { // horizontal looper version 3 ?> <td><table width="200" border="0" align="center"> <tr> <td rowspan="3" align="center" width="60"><img src="imgmenor/<?php echo $row_cart['img']; ?>" width="50" height="50" /><br /> <br /> <div class="remover"><a href="#" rel="<?php echo $row_cart['idcart']; ?>"><img src="images/fechar.gif" style="border:0" width="16" height="16" /></a></div></td> <td class="itens_carrinho"><span class="style4">Quantidade : </span> <label> <input class="txtqtd" name="txtqtd" type="text" id="<?php echo $row_cart['idcart']; ?>" value="<?php echo $row_cart['qtdp']; ?>" size="1" /> </label></td> </tr> <tr> <td width="140" class="itens_carrinho"><span class="style4">Total : <?php echo $row_cart['total']; ?></span></td> </tr> <tr> <td class="itens_carrinho"><span class="style4">Produto : <?php echo $row_cart['produto']; ?></span></td> </tr> <tr> <td colspan="2" align="center" class="itens_carrinho"><span class="style4"><strong><?php echo $row_cart['categ']; ?></strong></span></td> </tr> </table></td> <?php $row_cart = mysql_fetch_assoc($cart); if (!isset($nested_cart)) { $nested_cart= 1; } if (isset($row_cart) && is_array($row_cart) && $nested_cart++ % 5==0) { echo "</tr><tr>"; } } while ($row_cart); //end horizontal looper version 3 ?> </tr> </table> <?php // else Conditional region1 } else { ?> <img src="images/carrinho.png" /> <?php } // endif Conditional region1 ?> <?php mysql_free_result($cart); ?>


esta aqui é do ajax
$(".adicionar a").live('click',function(){ id_p=$(this).attr("rel"); $.ajax({ type:"GET", url:"carrinho.php", data:{id_p:id_p,acao:"mais"}, success: function(atual){ $(".carrinho").html(atual); } }); return false }); $(".remover a").live('click',function(){ id_p=$(this).attr("rel"); $.ajax({ type:"GET", url:"carrinho.php", data:{id_p:id_p,acao:"menos"}, success: function(atual){ $(".carrinho").html(atual); } }); return false }); $(".txtqtd").live('blur',function(){ id_p=$(this).attr("id"); idqtd=$(this).val(); $.ajax({ type:"GET", url:"carrinho.php", data:{id_p:id_p, acao:"up", idqtd:idqtd}, success: function(atual){ $(".carrinho").html(atual) } }); return false });

to com dificuldades para entender o que esta acontecendo ... agradeço qualquer ajuda .

Você pode clicar em canetas , vai aparecer um segundo menu , neste você escolhe canetas plasticas , adicione ao carrinho uma caneta ou duas ...

tente modificar a quantidade ...

Não muda o total e não altera na tabela , apenas mostra a quantidade mas não ha alteração na tabela .....
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17685
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Função BLUR não recebe os dados ...

16-12-2009 22:44

Acho que o blur é só em input se não me engano. No seu sistema parece que nada está disponível onde indicou.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 407
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

Função BLUR não recebe os dados ...

17-12-2009 20:34

Grande Web, esta dentro de um input ...

<input class="txtqtd" name="txtqtd" type="text" id="<?php echo $row_cart['idcart']; ?>" value="<?php echo $row_cart['qtdp']; ?>" size="1" />

Todo o sistema esta funcionando perfeitamente, somente esta parte é que não rola .... ja não sei onde verificar mais , ja conferi todo o código e nada ...
:! :??? :star
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17685
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Função BLUR não recebe os dados ...

17-12-2009 21:06

O que pode estar acontecendo é do script não está achando o id alvo, já que parece que o id do input vem de outro lugar <?php echo $row_cart['idcart']; ?>

Verifica isso pelo código fonte gerado depois das consultas. Também pode tentar rodar a função para testar, ao invés de mandar o resultado, carregar um alert com o resultado.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 407
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

Função BLUR não recebe os dados ...

17-12-2009 21:51

Grande Web ...
Ja consegui alguma coisa ... o alert , pois nem isso tava ...
Em pesquisa na internet , vi que o evento blur não suporta a função live , logo a maneira correta de se colocar seria ...
$(".txtqtd").blur(function(){ alert(blur ok); });

dessa forma apareceu o alert ...

voltando ao início fiz a modificação ....

$(".txtqtd").blur(function(){ var id_p=$(this).attr("id"); var idqtd=$(this).val(); $.ajax({ type:"GET", url:"carrinho.php", data:{id_p:id_p, acao:"up", idqtd:idqtd}, success: function(atual){ $(".car").html(atual) } }); return false });

Agora o que acontece é que zera a quantidade, não soma .
Lembro que ....
if($acao=="up"){ mysql_select_db($database_loja, $loja); $query_update = "UPDATE carrinho SET qtd = '$qtdp' WHERE carrinho.id = '$id_p' "; $update = mysql_query($query_update, $loja) or die(mysql_error()); } mysql_select_db($database_loja, $loja); $query_cart = "SELECT a.id, a.categ, a.produto, a.img, a.valor, b.id AS idcart, b.ip, b.id_produto, b.qtd AS qtdp, a.valor*b.qtd AS total FROM produtos a, carrinho b WHERE a.id=b.id_produto AND b.ip='$ip'"; $cart = mysql_query($query_cart, $loja) or die(mysql_error()); $row_cart = mysql_fetch_assoc($cart); $totalRows_cart = mysql_num_rows($cart);

e ainda ... no input .
<input class="txtqtd" name="txtqtd" type="text" id="<?php echo $row_cart['idcart']; ?>" value="<?php echo $row_cart['qtdp']; ?>" size="1" />

logo .... ja estou sem miolos ...rs
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17685
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Função BLUR não recebe os dados ...

17-12-2009 22:35

Os valores estão chegando realmente dentro desse if no mysql? Faz testes mandando as informações direta sem o script para esse script mysql para ver se obtém os resultados.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 407
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

Função BLUR não recebe os dados ...

18-12-2009 01:08

Estou perto ...
Desta forma ...
$("input, .txtqtd").blur(function(){ id_p=$(this).attr("id"); idqtd=$(this).val(); $.ajax({ type:"GET", url:"carrinho.php", data:{id_p:id_p, acao:"up", idqtd:idqtd}, success: function(atual){ $(".car").html(atual) } }); return false });

Consigo fazer 1 alteração, porem para alterar novamente ou outro item , tenho que dar um refresh na página .
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17685
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Função BLUR não recebe os dados ...

19-12-2009 17:34

Teria que passar o id pela função, só que com jQuery não sei como é.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 407
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

Função BLUR não recebe os dados ...

19-12-2009 21:54

Quanto ao problema ja foi resolvido, mantive o anterior alterando a primeira linha :
$(".txtqtd").blur(function(){

acertei a tag do js

<script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>

estava só

<script type="text/javascript" src="js/jquery"></script>

então ficava buscando uma versão mais antiga .

e na pagina do carrinho acrescentei

<script type="text/javascript" src="js/tudo.js"></script>

que é nde estão os códigos, assim faz as alterações tranquilamente e sem problemas, EU achava que não era preciso , pois ja se encontrava na index esta tag , e o carrinho estava em um include, porém como só alterava uma vez a cada refresh ..... ai foi a solução .

Valeu a ajuda de todos. :kickup :laughing :kickup
0

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado