Ir para conteúdo

POWERED BY:

Arquivado

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

regina

[Resolvido] Pegar valor de input com jquery e enviar para o php

Recommended Posts

Boa tarde,

 

estou novamente com dúvida e recorro a vocês, não consegui localizar resposta nas pesquisas que realizei:

Estou desenvolvendo uma lista de casamento, onde listo os produtos valor e deixei um campo input para a noiva digitar a quantidade que deseja daquele produto.

Sem a quantidade eu consegui fazer, mas com a quantidade não.

<tr>
<td><img src="imagem/produtos/imagem_Prodto123.jpg" alt="Prodto123"></td>
<td>Prodto123<br />Banheiro<br />Delta Útil</td>
<td>Por: R$ 1,23</td>
<td><input size="2" maxlength="2" name="quantidade" value="1" type="text"></td>
<td><a class="btn_adicionar" rel="1000"><img src="imagens/botao_adicionar.png" alt="Adicionar"></a></td>
</tr>
<tr>
<td><img src="imagem/produtos/imagem_Produto2.jpg" alt="Pegador de saladas"></td>
<td>Pegador de saladas<br>Cozinha e Bar<br>Invotis Orange</td>
<td>Por: R$ 29,90</td>
<td><input size="2" maxlength="2" name="quantidade" value="1" type="text"></td>
<td><a class="btn_adicionar" rel="5"><img src="imagens/botao_adicionar.png" alt="Adicionar"></a></td>
</tr>

O jquery está assim

<script type="text/javascript">
//grava produto na lista
$(".btn_add").live('click', function(){
//Pegando os valores que foram digitados no formulário e colocando nas variáveis nome e email.
var lista=$("#lista").val();
var quantidade=$("#quantidade").val();
var produto =$(this).attr('rel');;
//alert(produto);
//Enviando as variáveis com os valores para a página envia_formulario.php e criando uma nova função para pegar o retorno da página envia_formulario.php
$.post("produto_gravar.php", { lista:lista, quantidade:quantidade, produto:produto }, function(get_retorno) {
 alert(get_retorno);
});
});
</script>

Não chega O valor quantidade ao php, acredito que seja porque eu tenho o input repitido de acordo com o número de produtos, então pergunto:

 

Como posso fazer para pegar a quantidade do produto clicado?

 

Desde já agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

$('#alguma_coisa') pega o elemento por ID e, pelo que vi no codigo, nenhum elemento tem ID algum mas nao adianta colocar varios IDs repetidos, tambem nao funciona, acredito que você vai ter que se basear no pai do $(this) para pegar o valor da quantidade...

 

adicione a classe quantidade no elemento quantidade e tente pegar o valor assim

$(this).parents('tr').find('.quantidade').val();

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu não sei como funciona esse this ai, mais sempre que vou passar algum valor pro php

eu utilizo a biblioteca prototypem, então vai ai uma sugestão de leigo...

 


new Ajax.Request('pega_conteudo.php',
{
method:'get',
onSuccess:function(transport){
var req = transport.responseText || "Error";
// Variável req contém a resposta de pega_conteudo.php
// Agora se trabalha da forma que quiser com
// os dados que recebeu
// Lembrando que no prototype
// document.getElementById('a') é o mesmo que $('a')
// No caso de mesmo assim o req retornar algum erro
// o tratamento com || (ou) é realizado de sua escolha.
},
onFailure:function(){
// Erro em algum momento na requisição.
// Seria interessante tratar o erro aqui.
}
});

 

talvez jquery seja melhor mais ta ai é uma opção...

você escolhe ai get ou post

 

method:'get',

parameters: {x: '10', y: '18'},

onSuccess:function(transport)...

 

significa = pega_conteudo.php?x=10&y=18

 

ai você pega as variavel pelo php e faz oque quiser...

http://www.prototypejs.org/

Compartilhar este post


Link para o post
Compartilhar em outros sites

$('#alguma_coisa') pega o elemento por ID e, pelo que vi no codigo, nenhum elemento tem ID algum mas nao adianta colocar varios IDs repetidos, tambem nao funciona, acredito que você vai ter que se basear no pai do $(this) para pegar o valor da quantidade...

 

adicione a classe quantidade no elemento quantidade e tente pegar o valor assim

$(this).parents('tr').find('.quantidade').val();

MUITO OBRIGADAAAAA, paulojuchem!!!

 

Funcionou perfeitamente!!!

 

====RESOLVIDOOOO!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode pegar o campo diretamente com jQuery, não é necessário criar uma classe, basta pegar o valor do campo pelo nome dele como explicado abaixo:

$("input[name=<nome do campo aqui>]").val();

Se quiser ser mais específica, coloque o tipo também:

$("input[type=<tipo do campo aqui>][name=<nome do campo aqui>]").val();

Desta forma o campo não precisa ter o class e nem o id definidos.

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.