Ir para conteúdo

POWERED BY:

Arquivado

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

kaarl_

Passar valor do select para variável php

Recommended Posts

Boa tarde pessoal, mais uma vez venho solicitar a ajuda de vocês,

 

tenho uma dúvida simples mas não encontro a solução:

 

 

Tenho um botão "Pagar com pagSeguro" e quero alterar o valor da variável "preço" dele.

 

Esse valor viria de um select simples mas, não estou tendo exito segue o código:

 

Qual seria a solução ideal?

 

 

//select
<select id="opcoes" name="opcoes">
 <option value="24.90" selected="selected">Plano 1 - 24.90</option>
 <option value="44.90">Plano 2 - R$ 44,90</option>
 <option value="99.90">Plano 3 - R$ 99,90</option>
</select>


//Variável a ser setada 
$preço;


//array do botao do pagseguro 
$pgs->adicionar(array(
 array(

   "valor"=> $preco

 ),
));

 

 

Agradeço desde já a ajuda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

depende se o form é GET ou POST:

 

//Variável a ser setada 
$preço = $_POST['opcoes'];

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, ai que ta. O select não está dentro de um form! Ele simplesmente é uma opção pra gerar o pagamento!

 

Dei uma procurada em jquery, e várias pessoas falaram que esse código é o ideal.

 

Mas não está dando certo, acho que estou fazendo algo muito errado!

 

<script language="JavaScript" type="text/javascript" src="/js/jquery-1.8.2.js"></script>


<script>


$(document).ready(function() {


   $("#opcoes").change(function() {


  <?php $preco = "<script>$('#preco').find('option').filter(':selected').text()</script>"; ?>



   });
});

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso não existe amigo.

 

Explique o motivo de você precisar disso, ai então podemos te dar alguma solução.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esta solução que você está querendo dar infelizmente ñ dá certo. Seria ótimo se o PHP e o JS fossem interpretados de uma forma mágica assim, resolveriam muuuuitos problemas!

 

Enfim, você vai precisar passar o valor para um destino, pelo visto será uma forma de pagamento. você tem 2 opções:

1ª - Colocar o combobox em um form, com $_POST ou $_GET e enviá-lo para um destino quando clicar no botão de pagamento.

2ª - Pegar o valor selecionado com javascript, pode até ser com jQuery, mas nem precisa, só se você quiser, e enviá-lo como parâmetro para um destino tbm, digamos uma outra página, via $_GET (Ex: http://destino.com.br/index.php?valor=X).

 

De qualquer forma você precisará enviar o valor selecionado para algum lugar, nem que seja para a mesma página com Ajax.

 

pelo que estou vendo, acho que você deve exibir o botão de pagamento somente depois de ser selecionada a opção, e acho que é via Ajax.

 

Vou dar um exemplo simples com dependência do jQuery, que pode não ser usado, mas eu usei por ser rápido e simples, de como pode ser feito (não considerei segurança, tratamento de erros, eficácia e outras coisas importantes que devem ser observadas):

 

<?php
function exibirBotaoPagamento()
{
echo "<input type='button' name='botao_pagar' value='Pagar' /> com a opção de ".$_POST['opcao'].".";
//No seu caso, você deverá colocar o botão para pagamento do PagueSeguro, lembre-se de incluir as classes e instanciar os objetos dependentes
}
if(!empty($_POST['requisicaoAjax'])){
header('Content-Type: text/html; charset=ISO-8859-15');
$_POST['requisicaoAjax']();
exit;
}
?>
<html>
<head></head>
<script language="JavaScript" type="text/javascript" src="js/jquery-1.8.2.js"></script>
<script>
$(document).ready(function() {
   $("#opcoes").change(function() {
   	var opcao = $("#opcoes").val();
	$.ajax({
		type: "POST",
		url: window.location,
		data: 'requisicaoAjax=exibirBotaoPagamento&opcao='+opcao,
		success: function(data) {
	    	$('#div_pagar').html(data);
	  	}
	});
   });
});
</script>
<body>
<select id="opcoes" name="opcoes">
 <option value="24.90" selected="selected">Plano 1 - 24.90</option>
 <option value="44.90">Plano 2 - R$ 44,90</option>
 <option value="99.90">Plano 3 - R$ 99,90</option>
</select>
<div id="div_pagar">Selecione uma opção para pagar.</div>
</body>
</html>

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.