Ir para conteúdo

POWERED BY:

Arquivado

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

formigoni

[Resolvido] Passagem de Parâmetro

Recommended Posts

Bom dia pessoal do AJAX, preciso de uma dica de vocês, pode parecer uma coisa bizarra mas vou perguntar.

 

Tenho um List/Menu onde listo para o meu cliente os descontos que ele pode ter em um orçamento, tenho o id e a descrição, ao clicar no List/Menu chamo a função assim onChange="carrega() e o id é passado corretamente, tudo funciona legal e agora vem o problema preciso passar o valor total do pedido para que o script calcule o desconto de acordo com id selecionado.

Como posso passar esse valor para o script?

 

Tinha tentado isso:

<select name="id_desconto" id="id_desconto" onChange="carrega()">
 <option value="0">Escolha o Desconto</option>							
   <?php do {  ?>
	  <option value="<?php echo $row_desconto['id_desconto']?>"><?php echo $row_desconto['desconto']?></option>
	  <?php } while ($row_desconto = mysql_fetch_assoc($desconto));
				 $rows = mysql_num_rows($desconto);  
			   if($rows > 0) {
						  mysql_data_seek($desconto, 0);
			$row_desconto = mysql_fetch_assoc($desconto);
		   } ?>
</select>
<input name="total" type="hidden" id="total" value="<?php echo $total; ?>">

Tentei passar o valor como um campo hidden do php e no AJAX fiz isso:

function carrega() {
   var indice = document.getElementById("id_desconto").selectedIndex;
   var indice2 = document.getElementById("total").selectedIndex;
   
   var tipo = document.getElementById("id_desconto").options[indice].value;
   var tipo2 = document.getElementById("total").options[indice2].value;
   
   if ((tipo == "") && (tipo2 == "")) { 
   alert("O Script tem erro");   
   } else {
	  var url = "procura_desconto.php?id_desconto=" + document.getElementById("id_desconto").options[indice].value + "&total=" + document.getElementById("total").options[indice2].value + "";
   }


   var divInfo = document.getElementById("carregaValores");
   var XMLHttp = criaXMLHttp();
   XMLHttp.open("get", url, true);
   divInfo.innerHTML = carregando();
   XMLHttp.onreadystatechange = function() {
	  if (XMLHttp.readyState == 4) if (XMLHttp.status == 200) {
		 divInfo.innerHTML = XMLHttp.responseText;
	  }
	  else {
		 divInfo.innerHTML = "Nenhum Setor Encontrado";
	  }
   };
   XMLHttp.send(null);
}

o script em PHP:

 

<?
/*
----------------------------------------------------------------------
Arquivo .............: PHP - Monta Desconto														
----------------------------------------------------------------------
*/

	header("Content-Type: text/html; charset=ISO-8859-1",true);

	session_start();
	
	require_once('../Connections/conexao.php'); 
	
	$id_desconto = $_GET["id_desconto"];
	$valor_original = $_GET["total"];
		
	mysql_select_db($database_conexao, $conexao);
	$query_desconto = "SELECT * FROM desconto WHERE id_desconto = $id_desconto";
	$desconto = mysql_query($query_desconto, $conexao) or die(mysql_error());
	$row_desconto = mysql_fetch_assoc($desconto);
	
	if ( $row_desconto['id_desconto'] == 1 ) {
	$calculo = ($valor_original*40/100);
	$valor = ($valor_original - $calculo);
	}	

	
?>

 

Mas dá um erro dizendo que o document.getElementById é incorreto e com certeza é o do valor, pois o mesmo não vem de uma lista né?

Ai fica a minha pergunta, tem como passar esse valor para o script?

 

Valeu moçada e fiquem na paz.

Compartilhar este post


Link para o post
Compartilhar em outros sites

[RESOLVIDO]

 

Boa tarde pessoal do AJAX.

Consegui resolver o problema que tinha aqui na passagem de parâmetros, ficou assim:

 

Na chamada da função ao escolher o desconto alterei para:

 

onChange="carrega(id_desconto,total)">

o meu js ficou assim:

 

function carrega(id_desconto,total) {
   var indice = document.getElementById("id_desconto").selectedIndex;
   [b]var indice2 = document.getElementById("total").value; [/b]  
 
   if ( indice == "" ) { 
   alert("O Script tem erro");   
   } else {
	  var url = "procura_desconto.php?id_desconto=" + document.getElementById("id_desconto").options[indice].value + "&total=" + document.getElementById("total").value + "";
   }


   var divInfo = document.getElementById("carregaValores");
   var XMLHttp = criaXMLHttp();
   XMLHttp.open("get", url, true);
   divInfo.innerHTML = carregando();
   XMLHttp.onreadystatechange = function() {
	  if (XMLHttp.readyState == 4) if (XMLHttp.status == 200) {
		 divInfo.innerHTML = XMLHttp.responseText;
	  }
	  else {
		 divInfo.innerHTML = "Nenhum Desconto Encontrado";
	  }
   };
   XMLHttp.send(null);
}

Valeu moçada e fiquem na paz.

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.