Ir para conteúdo

POWERED BY:

Arquivado

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

LucasLinux

RETORNO [undefined]

Recommended Posts

Boa Tarde Galera!,

 

Estou com um problema na hora que vou inserir as variáveis que recebo do PHP no carrinho,

 

Se eu coloco um "alert(id)", é retornado o valor que esta no PHP até ai tudo bem, a função esta recebendo os valores do PHP, e se por acaso eu colocar valores inteiros diretamente nas variáveis no javaScript tipo: "var itemid = 1;" é inserido no carrinho corretamente, porem quando eu coloco as variáveis que recebo do php nas variáveis javaScript e insiro no carrinho ou então se eu colocar direto os parâmetros na variável html, aparece isso "undefined" e se eu der um alert nas variáveis que criei nojavaScript, aparece normal o valor.

 

Alguem poderia me ajudar?

<script type="text/javascript">


function addItens(id, desc, valor, quant) {

alert(id)
var itemid = id;
var descr = desc;
var amount = valor;
var qty = quant;
var itemValue = (amount * qty);

var html = "<tr>";
html += "<td data-name='itemId'>" + itemid + "</td>";
html += "<td data-name='itemDescription'>" + descr + "</td>";
html += "<td data-name='itemAmount'>" + amount + "</td>";
html += "<td data-name='itemQuantity'>" + qty + "</td>";
html += "<td>" + itemValue + "</td>";
html += "</tr>";




$("#cartTable tbody").append(html);

var total = Number($("#totalValue").html());
total = total + itemValue;

$("#totalValue").html(total.toMoney(2, '.', ','));

if ($("#installmentQuantity").val() != "") {
updateInstallments($("#creditCardBrand").val());
}


}




</script>
<?php

if ($botAdd <> '' ) {

$id = 1;
$desc = 'notebook';
$valor = 5;
$quant = 1;
echo "<script type='text/javascript'>addItens('$id','$desc','$valor','$quant');</script>";
}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Provavelmente é problema de tipagem.

 

Se pode dar um console.log() logo na após a criação da sua função para verificar o tipo.

 

Outra maneira é forçar um Cast (mudança de tipagem no JavaScript)

Assim garante o funcionamento ok.

function addItens(id, desc, valor, quant) {
	
	console.log(id);
	var valor = parseFloat(valor); //Lembrando que só aceita valores com ponto, EX: 3.50 e não 3,50 ..
	console.log(valor);
	
	var quant = parseInt(quant);
	console.log(quant);
	console.log(desc);
....
....

Dica: E verificar oq rola na aba console.

 

 

Ou pode tambem criar a variavel como inteiro pelo php:

 

Ex:

if ($botAdd != '' ) {

	$id = 1;
	$desc = 'notebook';
	$valor = 5;
	$quant = 1;
	echo "<script type='text/javascript'>addItens($id,'$desc',$valor,$quant);</script>";
}

*Repare que retirei as aspas simples assim ela será criada como inteiro.

 

Abraços.

Ps: a primeira opção acredito ser melhor.

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.