Receber informações sobre o usuário em uma pagina html
4 participantes
Fórum dos Fóruns :: Ajuda e atendimento ao utilizador :: Questões sobre códigos :: Questões resolvidas sobre códigos Javascript e jQuery
Página 1 de 1
Receber informações sobre o usuário em uma pagina html
Detalhes da questão
Endereço do fórum: http://geekheroes.forumeiros.com
Versão do fórum: PhpBB3
Descrição
Olá, a minha duvida é a seguinte, eu estava querendo modificar um Addon de loja feito pelo @Daemon específicamente para o meu fórum, porém para ele buscar a informação do perfil ele precisa estar utilizando o inicio e fim da pagina do fórum
No caso, eu gostaria que ele não utilizasse esse inicio e fim da página e mesmo assim buscasse a informação de quantos pontos o usuário possui no fórum, seria possível?
Última edição por Matheus Vale em 17.12.15 5:27, editado 1 vez(es)
Re: Receber informações sobre o usuário em uma pagina html
Não sei se é possível amigo, mas acredito que não.
Só se fizeste um Jquery direcionando.
Só se fizeste um Jquery direcionando.
Re: Receber informações sobre o usuário em uma pagina html
Não tenho experiência nenhuma com jQuery, tem noção de como ficaria se desse para fazer de tal modo?Slurk escreveu:Não sei se é possível amigo, mas acredito que não.
Só se fizeste um Jquery direcionando.
Re: Receber informações sobre o usuário em uma pagina html
Boa noite!
Leia o conteúdo deste tópico: https://ajuda.forumeiros.com/t87139-nao-aparecem-o-valor-das-variaveis#592338
Atenciosamente,
Shek
Leia o conteúdo deste tópico: https://ajuda.forumeiros.com/t87139-nao-aparecem-o-valor-das-variaveis#592338
Atenciosamente,
Shek
Re: Receber informações sobre o usuário em uma pagina html
Shek escreveu:Boa noite!
Leia o conteúdo deste tópico: https://ajuda.forumeiros.com/t87139-nao-aparecem-o-valor-das-variaveis#592338
Atenciosamente,
Shek
Boa noite Shek, não entendi muito bom como este link pode me ajudar, no caso não consigo fazer o que eu necessito?
Re: Receber informações sobre o usuário em uma pagina html
Boa noite!
Localize a tag:
E veja se resulta a sua função.
Localize a tag:
- Código:
<head>
- Código:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" type="text/javascript"></script>
E veja se resulta a sua função.
Re: Receber informações sobre o usuário em uma pagina html
Boa noite @MateusAnjosV, a função ficou com a letra bugada por que eu não defini a criptografia utf8, porém este não é o problema, após inserir o código passado ela ja chega a "formular" a loja, porém é impossível comprar algo pois ela não está buscando informação de quantos Pontos(do sistema de pontos e reputação) eu tenho, na loja utilizando o inicio e fim do fórum eu consigo pegar tais informações, segue algumas screenshots e o código utilizado na pagina:MateusAnjosV escreveu:Boa noite!
Localize a tag:Após ela, cole:
- Código:
<head>
- Código:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" type="text/javascript"></script>
E veja se resulta a sua função.
Código da pagina:
- Código:
<script type="text/javascript">
$(function() {
var produtos = {
/* Ícones da loja abaixo.
Lembre-se de adicionar uma vírgula ao final de cada novo ítem adicionado.
Não adicione vírgula após o último ítem adicionado. */
'Troca de nome': {
icone: 'https://cdn4.iconfinder.com/data/icons/small-n-flat/24/user-id-128.png',
preco: '250',
descricao: 'Este item te dá direito a uma troca de nick'
},
'Glow no nome': {
icone: 'http://cdn.mysitemyway.com/etc-mysitemyway/icons/legacy-previews/icons-256/glowing-green-neon-icons-natural-wonders/111790-glowing-green-neon-icon-natural-wonders-star8-sc48.png',
preco: '550',
descricao: 'Este item deixa seu nome com uma <span style="color:blue!important;text-shadow:0 0 3px blue;">aura</span>'
},
'Charmander': {
icone: 'http://i72.servimg.com/u/f72/18/07/42/17/shop_i33.png',
preco: '250',
descricao: 'Pokemón tipo fogo'
}
// Perceba que não existe vírgula após o último ítem. Caso queira adicionar mais ítens após o último, adicione uma vírgula logo após a chave "}". Lembre-se de deixar apenas o último ítem sem vírgula ao final.
};
var content = $('.content .itens');
$.each(produtos, function (key, value) {
content.append(
'<tr class="item">' +
' <td class="icone" style="width: 10%;"><img src="' + value.icone + '" /></td>' +
' <td style="width: 50%;"><strong class="nome">' + key + '</strong><br /><br />' + value.descricao + '</td>' +
' <td>' +
' <ul>' +
' <li class="preco" data-myprice="' + value.preco + '"><img src="http://i.imgur.com/qdiucii.png" /> <strong>Preço:</strong> ' + value.preco + ' dólares</li>' +
' <br />' +
' <li><input type="button" onclick="addToCart(this)" value="Adicionar ao carrinho" /></li>' +
' </ul>' +
' </td>' +
'</tr>'
);
});
$.ajax({
url: '/u' + _userdata.user_id,
type: 'GET',
success: function(responseHtml)
{
var myPoints = $('#field_id-13 dd', responseHtml).text();
$('.myPoints').html('Meu saldo em dólares: <span class="totalPoints">' + myPoints + '</span>');
},
error: function(err)
{
console.log("AJAX error in request (Store points)");
}
});
});
var $total = 0;
function addToCart(item) {
var getItem = $(item).parents('.item').find('.nome').text();
var getPrice = parseInt($(item).parents('.item').find('.preco').attr('data-myprice'));
$total += getPrice;
$('.total').html('Valor total: <span class="totalVal">' + $total + '</span> pontos');
$('.cart').append('<span class="item-cart" onclick="removeFromCart(this)" data-myprice="' + getPrice + '">' + getItem + '</span>');
}
function removeFromCart(item) {
var getPrice = parseInt($(item).attr('data-myprice'));
$total -= getPrice;
$('.total').html('Valor total: <span class="totalVal">' + $total + '</span> dólares');
$(item).remove();
}
function resetItems() {
$('.cart').empty();
$total = 0;
$('.total').empty();
}
function buyItems() {
if(!$('.cart').is(':empty')) {
var valPoints = parseInt($('.totalPoints').text());
var valTotal = parseInt($('.totalVal').text());
if(valPoints >= valTotal) {
var texto = '';
var total = 0;
$('.item-cart').each(function() {
var item = $(this).text();
var preco = parseInt($(this).attr('data-myprice'));
texto += '[b]' + item.charAt(0).toUpperCase() + item.slice(1)
//add line break at the end
+ ':[/b] ' + preco + " dólares\n";
total += preco;
});
texto += '\n\n[b]Valor total:[/b] ' + total + ' dólares';
$.post('/privmsg', {
'mode': 'post',
'post': '1',
'folder': 'inbox',
'usergroup': '1',
'subject': 'Pedido da loja',
'message': texto
}).done(function() {
alert("Seu pedido foi enviado! Aguarde até que um administrador adicione seus ítens.");
resetItems();
});
} else {
alert("Você não tem dinheiro suficiente para efetuar a compra");
}
} else {
alert("O carrinho está vazio");
}
}
</script><style type="text/css">
table.content {
background: #fafafa;
border: 1px solid #eaeaea;
border-collapse: separate;
empty-cells: show;
table-layout: fixed;
width: 100%;
}
.itens .nome {font-size: 14px;}
.itens .icone {
text-align: center;
}
.itens .icone img {
height: 50px;
width: 50px;
}
.item-cart {
background: orange url(https://cdn0.iconfinder.com/data/icons/very-basic-android-l-lollipop-icon-pack/24/close-16.png) no-repeat 5px;
margin: 3px 4px;
cursor: pointer;
display: inline-block;
font-weight: bold;
padding: 5px;
padding-left: 25px;
color: white;
border-radius: 3px;
}
table.content tr td {padding: 10px;background: #f0f0f0;border-bottom: 1px solid #e0e0e0;}
.itens ul li {list-style-type: none;}
.daemon {
background: #82cf36;
text-align: center;
padding: 10px;
}
#cart {
background: #f0f0f0;
border: 1px solid #e0e0e0;
margin-top: 5px;
padding: 5px;
}
.cart {
background: white url("https://cdn1.iconfinder.com/data/icons/flat-artistic-shopping-icons/32/shopping-32.png") no-repeat 10px center;
min-height: 50px;
padding-left: 55px;
border: 1px solid #ddd;
}
.total, .myPoints {font-size: 13px;display: block;margin-top: 5px;font-family: arial;display: block;font-style: italic;font-weight: bold;}
</style>
<div class="daemon">
<span style="color: white;font-size: 20px;font-family: Verdana,Arial,Helvetica,sans-serif;font-weight: 700;">LOJA</span>
</div>
<table class="content">
<tbody class="itens">
</tbody>
</table>
<div id="cart">
<div class="cart">
</div>
<span class="myPoints"></span> <span class="total"></span>
</div>
<div class="daemon">
<input onclick="buyItems()" value="Concluir compra" type="button" /> <input onclick="resetItems()" value="Resetar ítens" type="button" />
</div>
Screenshot sem inicio e fim de fórum(não funcional):
Com inicio e fim (funcional):
Re: Receber informações sobre o usuário em uma pagina html
Tente com este código:
- Código:
<iframe src="http://geekheroes.forumeiros.com/" style="position: absolute; top: -50px;display: none !important;"></iframe>
<script type="text/javascript">
$(function() {
var produtos = {
/* Ícones da loja abaixo.
Lembre-se de adicionar uma vírgula ao final de cada novo ítem adicionado.
Não adicione vírgula após o último ítem adicionado. */
'Troca de nome': {
icone: 'https://cdn4.iconfinder.com/data/icons/small-n-flat/24/user-id-128.png',
preco: '250',
descricao: 'Este item te dá direito a uma troca de nick'
},
'Glow no nome': {
icone: 'http://cdn.mysitemyway.com/etc-mysitemyway/icons/legacy-previews/icons-256/glowing-green-neon-icons-natural-wonders/111790-glowing-green-neon-icon-natural-wonders-star8-sc48.png',
preco: '550',
descricao: 'Este item deixa seu nome com uma <span style="color:blue!important;text-shadow:0 0 3px blue;">aura</span>'
},
'Charmander': {
icone: 'http://i72.servimg.com/u/f72/18/07/42/17/shop_i33.png',
preco: '250',
descricao: 'Pokemón tipo fogo'
}
// Perceba que não existe vírgula após o último ítem. Caso queira adicionar mais ítens após o último, adicione uma vírgula logo após a chave "}". Lembre-se de deixar apenas o último ítem sem vírgula ao final.
};
var content = $('.content .itens');
$.each(produtos, function (key, value) {
content.append(
'<tr class="item">' +
' <td class="icone" style="width: 10%;"><img src="' + value.icone + '" /></td>' +
' <td style="width: 50%;"><strong class="nome">' + key + '</strong><br /><br />' + value.descricao + '</td>' +
' <td>' +
' <ul>' +
' <li class="preco" data-myprice="' + value.preco + '"><img src="http://i.imgur.com/qdiucii.png" /> <strong>Preço:</strong> ' + value.preco + ' dólares</li>' +
' <br />' +
' <li><input type="button" onclick="addToCart(this)" value="Adicionar ao carrinho" /></li>' +
' </ul>' +
' </td>' +
'</tr>'
);
});
$.ajax({
url: '/u' + _userdata.user_id,
type: 'GET',
success: function(responseHtml)
{
var myPoints = $('#field_id-13 dd', responseHtml).text();
$('.myPoints').html('Meu saldo em dólares: <span class="totalPoints">' + myPoints + '</span>');
},
error: function(err)
{
console.log("AJAX error in request (Store points)");
}
});
});
var $total = 0;
function addToCart(item) {
var getItem = $(item).parents('.item').find('.nome').text();
var getPrice = parseInt($(item).parents('.item').find('.preco').attr('data-myprice'));
$total += getPrice;
$('.total').html('Valor total: <span class="totalVal">' + $total + '</span> pontos');
$('.cart').append('<span class="item-cart" onclick="removeFromCart(this)" data-myprice="' + getPrice + '">' + getItem + '</span>');
}
function removeFromCart(item) {
var getPrice = parseInt($(item).attr('data-myprice'));
$total -= getPrice;
$('.total').html('Valor total: <span class="totalVal">' + $total + '</span> dólares');
$(item).remove();
}
function resetItems() {
$('.cart').empty();
$total = 0;
$('.total').empty();
}
function buyItems() {
if(!$('.cart').is(':empty')) {
var valPoints = parseInt($('.totalPoints').text());
var valTotal = parseInt($('.totalVal').text());
if(valPoints >= valTotal) {
var texto = '';
var total = 0;
$('.item-cart').each(function() {
var item = $(this).text();
var preco = parseInt($(this).attr('data-myprice'));
texto += '[b]' + item.charAt(0).toUpperCase() + item.slice(1)
//add line break at the end
+ ':[/b] ' + preco + " dólares\n";
total += preco;
});
texto += '\n\n[b]Valor total:[/b] ' + total + ' dólares';
$.post('/privmsg', {
'mode': 'post',
'post': '1',
'folder': 'inbox',
'usergroup': '1',
'subject': 'Pedido da loja',
'message': texto
}).done(function() {
alert("Seu pedido foi enviado! Aguarde até que um administrador adicione seus ítens.");
resetItems();
});
} else {
alert("Você não tem dinheiro suficiente para efetuar a compra");
}
} else {
alert("O carrinho está vazio");
}
}
</script><style type="text/css">
table.content {
background: #fafafa;
border: 1px solid #eaeaea;
border-collapse: separate;
empty-cells: show;
table-layout: fixed;
width: 100%;
}
.itens .nome {font-size: 14px;}
.itens .icone {
text-align: center;
}
.itens .icone img {
height: 50px;
width: 50px;
}
.item-cart {
background: orange url(https://cdn0.iconfinder.com/data/icons/very-basic-android-l-lollipop-icon-pack/24/close-16.png) no-repeat 5px;
margin: 3px 4px;
cursor: pointer;
display: inline-block;
font-weight: bold;
padding: 5px;
padding-left: 25px;
color: white;
border-radius: 3px;
}
table.content tr td {padding: 10px;background: #f0f0f0;border-bottom: 1px solid #e0e0e0;}
.itens ul li {list-style-type: none;}
.daemon {
background: #82cf36;
text-align: center;
padding: 10px;
}
#cart {
background: #f0f0f0;
border: 1px solid #e0e0e0;
margin-top: 5px;
padding: 5px;
}
.cart {
background: white url("https://cdn1.iconfinder.com/data/icons/flat-artistic-shopping-icons/32/shopping-32.png") no-repeat 10px center;
min-height: 50px;
padding-left: 55px;
border: 1px solid #ddd;
}
.total, .myPoints {font-size: 13px;display: block;margin-top: 5px;font-family: arial;display: block;font-style: italic;font-weight: bold;}
</style>
<div class="daemon">
<span style="color: white;font-size: 20px;font-family: Verdana,Arial,Helvetica,sans-serif;font-weight: 700;">LOJA</span>
</div>
<table class="content">
<tbody class="itens">
</tbody>
</table>
<div id="cart">
<div class="cart">
</div>
<span class="myPoints"></span> <span class="total"></span>
</div>
<div class="daemon">
<input onclick="buyItems()" value="Concluir compra" type="button" /> <input onclick="resetItems()" value="Resetar ítens" type="button" />
</div>
Re: Receber informações sobre o usuário em uma pagina html
Não resultou shekShek escreveu:Tente com este código:
- Código:
<iframe src="http://geekheroes.forumeiros.com/" style="position: absolute; top: -50px;display: none !important;"></iframe>
<script type="text/javascript">
$(function() {
var produtos = {
/* Ícones da loja abaixo.
Lembre-se de adicionar uma vírgula ao final de cada novo ítem adicionado.
Não adicione vírgula após o último ítem adicionado. */
'Troca de nome': {
icone: 'https://cdn4.iconfinder.com/data/icons/small-n-flat/24/user-id-128.png',
preco: '250',
descricao: 'Este item te dá direito a uma troca de nick'
},
'Glow no nome': {
icone: 'http://cdn.mysitemyway.com/etc-mysitemyway/icons/legacy-previews/icons-256/glowing-green-neon-icons-natural-wonders/111790-glowing-green-neon-icon-natural-wonders-star8-sc48.png',
preco: '550',
descricao: 'Este item deixa seu nome com uma <span style="color:blue!important;text-shadow:0 0 3px blue;">aura</span>'
},
'Charmander': {
icone: 'http://i72.servimg.com/u/f72/18/07/42/17/shop_i33.png',
preco: '250',
descricao: 'Pokemón tipo fogo'
}
// Perceba que não existe vírgula após o último ítem. Caso queira adicionar mais ítens após o último, adicione uma vírgula logo após a chave "}". Lembre-se de deixar apenas o último ítem sem vírgula ao final.
};
var content = $('.content .itens');
$.each(produtos, function (key, value) {
content.append(
'<tr class="item">' +
' <td class="icone" style="width: 10%;"><img src="' + value.icone + '" /></td>' +
' <td style="width: 50%;"><strong class="nome">' + key + '</strong><br /><br />' + value.descricao + '</td>' +
' <td>' +
' <ul>' +
' <li class="preco" data-myprice="' + value.preco + '"><img src="http://i.imgur.com/qdiucii.png" /> <strong>Preço:</strong> ' + value.preco + ' dólares</li>' +
' <br />' +
' <li><input type="button" onclick="addToCart(this)" value="Adicionar ao carrinho" /></li>' +
' </ul>' +
' </td>' +
'</tr>'
);
});
$.ajax({
url: '/u' + _userdata.user_id,
type: 'GET',
success: function(responseHtml)
{
var myPoints = $('#field_id-13 dd', responseHtml).text();
$('.myPoints').html('Meu saldo em dólares: <span class="totalPoints">' + myPoints + '</span>');
},
error: function(err)
{
console.log("AJAX error in request (Store points)");
}
});
});
var $total = 0;
function addToCart(item) {
var getItem = $(item).parents('.item').find('.nome').text();
var getPrice = parseInt($(item).parents('.item').find('.preco').attr('data-myprice'));
$total += getPrice;
$('.total').html('Valor total: <span class="totalVal">' + $total + '</span> pontos');
$('.cart').append('<span class="item-cart" onclick="removeFromCart(this)" data-myprice="' + getPrice + '">' + getItem + '</span>');
}
function removeFromCart(item) {
var getPrice = parseInt($(item).attr('data-myprice'));
$total -= getPrice;
$('.total').html('Valor total: <span class="totalVal">' + $total + '</span> dólares');
$(item).remove();
}
function resetItems() {
$('.cart').empty();
$total = 0;
$('.total').empty();
}
function buyItems() {
if(!$('.cart').is(':empty')) {
var valPoints = parseInt($('.totalPoints').text());
var valTotal = parseInt($('.totalVal').text());
if(valPoints >= valTotal) {
var texto = '';
var total = 0;
$('.item-cart').each(function() {
var item = $(this).text();
var preco = parseInt($(this).attr('data-myprice'));
texto += '[b]' + item.charAt(0).toUpperCase() + item.slice(1)
//add line break at the end
+ ':[/b] ' + preco + " dólares\n";
total += preco;
});
texto += '\n\n[b]Valor total:[/b] ' + total + ' dólares';
$.post('/privmsg', {
'mode': 'post',
'post': '1',
'folder': 'inbox',
'usergroup': '1',
'subject': 'Pedido da loja',
'message': texto
}).done(function() {
alert("Seu pedido foi enviado! Aguarde até que um administrador adicione seus ítens.");
resetItems();
});
} else {
alert("Você não tem dinheiro suficiente para efetuar a compra");
}
} else {
alert("O carrinho está vazio");
}
}
</script><style type="text/css">
table.content {
background: #fafafa;
border: 1px solid #eaeaea;
border-collapse: separate;
empty-cells: show;
table-layout: fixed;
width: 100%;
}
.itens .nome {font-size: 14px;}
.itens .icone {
text-align: center;
}
.itens .icone img {
height: 50px;
width: 50px;
}
.item-cart {
background: orange url(https://cdn0.iconfinder.com/data/icons/very-basic-android-l-lollipop-icon-pack/24/close-16.png) no-repeat 5px;
margin: 3px 4px;
cursor: pointer;
display: inline-block;
font-weight: bold;
padding: 5px;
padding-left: 25px;
color: white;
border-radius: 3px;
}
table.content tr td {padding: 10px;background: #f0f0f0;border-bottom: 1px solid #e0e0e0;}
.itens ul li {list-style-type: none;}
.daemon {
background: #82cf36;
text-align: center;
padding: 10px;
}
#cart {
background: #f0f0f0;
border: 1px solid #e0e0e0;
margin-top: 5px;
padding: 5px;
}
.cart {
background: white url("https://cdn1.iconfinder.com/data/icons/flat-artistic-shopping-icons/32/shopping-32.png") no-repeat 10px center;
min-height: 50px;
padding-left: 55px;
border: 1px solid #ddd;
}
.total, .myPoints {font-size: 13px;display: block;margin-top: 5px;font-family: arial;display: block;font-style: italic;font-weight: bold;}
</style>
<div class="daemon">
<span style="color: white;font-size: 20px;font-family: Verdana,Arial,Helvetica,sans-serif;font-weight: 700;">LOJA</span>
</div>
<table class="content">
<tbody class="itens">
</tbody>
</table>
<div id="cart">
<div class="cart">
</div>
<span class="myPoints"></span> <span class="total"></span>
</div>
<div class="daemon">
<input onclick="buyItems()" value="Concluir compra" type="button" /> <input onclick="resetItems()" value="Resetar ítens" type="button" />
</div>
O problema é pegar a variável "_userdata.user_id" e selecionar o campo "#field_id-13 dd" estando fora do fórum (em uma pagina html a parte)
Última edição por Matheus Vale em 16.12.15 20:03, editado 2 vez(es) (Motivo da edição : Adicionar informações)
Re: Receber informações sobre o usuário em uma pagina html
Não tem como fazer por métodos "normais", temos que apelar para a "gambiarra".
Troque o código por esse:
E adicione em sua CSS:
Preencha dessa forma:
http://prntscr.com/9f41nd
E teste! Será como se não estivesse aquela opção marcada.
Troque o código por esse:
- Código:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
$('body').html('<div class="daemon"><span style="color: white;font-size: 20px;font-family: Verdana,Arial,Helvetica,sans-serif;font-weight: 700;">LOJA</span></div><table class="content"><tbody class="itens"></tbody></table><div id="cart"><div class="cart"></div><span class="myPoints"></span> <span class="total"></span></div><div class="daemon"><input onclick="buyItems()" value="Concluir compra" type="button" /> <input onclick="resetItems()" value="Resetar ítens" type="button" /></div>');
});
$(function() {
var produtos = {
/* Ícones da loja abaixo.
Lembre-se de adicionar uma vírgula ao final de cada novo ítem adicionado.
Não adicione vírgula após o último ítem adicionado. */
'Troca de nome': {
icone: 'https://cdn4.iconfinder.com/data/icons/small-n-flat/24/user-id-128.png',
preco: '250',
descricao: 'Este item te dá direito a uma troca de nick'
},
'Glow no nome': {
icone: 'http://cdn.mysitemyway.com/etc-mysitemyway/icons/legacy-previews/icons-256/glowing-green-neon-icons-natural-wonders/111790-glowing-green-neon-icon-natural-wonders-star8-sc48.png',
preco: '550',
descricao: 'Este item deixa seu nome com uma <span style="color:blue!important;text-shadow:0 0 3px blue;">aura</span>'
},
'Charmander': {
icone: 'http://i72.servimg.com/u/f72/18/07/42/17/shop_i33.png',
preco: '250',
descricao: 'Pokemón tipo fogo'
}
// Perceba que não existe vírgula após o último ítem. Caso queira adicionar mais ítens após o último, adicione uma vírgula logo após a chave "}". Lembre-se de deixar apenas o último ítem sem vírgula ao final.
};
var content = $('.content .itens');
$.each(produtos, function (key, value) {
content.append(
'<tr class="item">' +
' <td class="icone" style="width: 10%;"><img src="' + value.icone + '" /></td>' +
' <td style="width: 50%;"><strong class="nome">' + key + '</strong><br /><br />' + value.descricao + '</td>' +
' <td>' +
' <ul>' +
' <li class="preco" data-myprice="' + value.preco + '"><img src="http://i.imgur.com/qdiucii.png" /> <strong>Preço:</strong> ' + value.preco + ' dólares</li>' +
' <br />' +
' <li><input type="button" onclick="addToCart(this)" value="Adicionar ao carrinho" /></li>' +
' </ul>' +
' </td>' +
'</tr>'
);
});
$.ajax({
url: '/u' + _userdata.user_id,
type: 'GET',
success: function(responseHtml)
{
var myPoints = $('#field_id-13 dd', responseHtml).text();
$('.myPoints').html('Meu saldo em dólares: <span class="totalPoints">' + myPoints + '</span>');
},
error: function(err)
{
console.log("AJAX error in request (Store points)");
}
});
});
var $total = 0;
function addToCart(item) {
var getItem = $(item).parents('.item').find('.nome').text();
var getPrice = parseInt($(item).parents('.item').find('.preco').attr('data-myprice'));
$total += getPrice;
$('.total').html('Valor total: <span class="totalVal">' + $total + '</span> pontos');
$('.cart').append('<span class="item-cart" onclick="removeFromCart(this)" data-myprice="' + getPrice + '">' + getItem + '</span>');
}
function removeFromCart(item) {
var getPrice = parseInt($(item).attr('data-myprice'));
$total -= getPrice;
$('.total').html('Valor total: <span class="totalVal">' + $total + '</span> dólares');
$(item).remove();
}
function resetItems() {
$('.cart').empty();
$total = 0;
$('.total').empty();
}
function buyItems() {
if(!$('.cart').is(':empty')) {
var valPoints = parseInt($('.totalPoints').text());
var valTotal = parseInt($('.totalVal').text());
if(valPoints >= valTotal) {
var texto = '';
var total = 0;
$('.item-cart').each(function() {
var item = $(this).text();
var preco = parseInt($(this).attr('data-myprice'));
texto += '[b]' + item.charAt(0).toUpperCase() + item.slice(1)
//add line break at the end
+ ':[/b] ' + preco + " dólares\n";
total += preco;
});
texto += '\n\n[b]Valor total:[/b] ' + total + ' dólares';
$.post('/privmsg', {
'mode': 'post',
'post': '1',
'folder': 'inbox',
'usergroup': '1',
'subject': 'Pedido da loja',
'message': texto
}).done(function() {
alert("Seu pedido foi enviado! Aguarde até que um administrador adicione seus ítens.");
resetItems();
});
} else {
alert("Você não tem dinheiro suficiente para efetuar a compra");
}
} else {
alert("O carrinho está vazio");
}
}
</script>
E adicione em sua CSS:
- Código:
table.content {
background: #fafafa;
border: 1px solid #eaeaea;
border-collapse: separate;
empty-cells: show;
table-layout: fixed;
width: 100%;
}
.itens .nome {font-size: 14px;}
.itens .icone {
text-align: center;
}
.itens .icone img {
height: 50px;
width: 50px;
}
.item-cart {
background: orange url(https://cdn0.iconfinder.com/data/icons/very-basic-android-l-lollipop-icon-pack/24/close-16.png) no-repeat 5px;
margin: 3px 4px;
cursor: pointer;
display: inline-block;
font-weight: bold;
padding: 5px;
padding-left: 25px;
color: white;
border-radius: 3px;
}
table.content tr td {padding: 10px;background: #f0f0f0;border-bottom: 1px solid #e0e0e0;}
.itens ul li {list-style-type: none;}
.daemon {
background: #82cf36;
text-align: center;
padding: 10px;
}
#cart {
background: #f0f0f0;
border: 1px solid #e0e0e0;
margin-top: 5px;
padding: 5px;
}
.cart {
background: white url("https://cdn1.iconfinder.com/data/icons/flat-artistic-shopping-icons/32/shopping-32.png") no-repeat 10px center;
min-height: 50px;
padding-left: 55px;
border: 1px solid #ddd;
}
.total, .myPoints {font-size: 13px;display: block;margin-top: 5px;font-family: arial;display: block;font-style: italic;font-weight: bold;}
Preencha dessa forma:
http://prntscr.com/9f41nd
E teste! Será como se não estivesse aquela opção marcada.
Re: Receber informações sobre o usuário em uma pagina html
MateusAnjosV escreveu:Não tem como fazer por métodos "normais", temos que apelar para a "gambiarra".
Troque o código por esse:
- Código:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
$('body').html('<div class="daemon"><span style="color: white;font-size: 20px;font-family: Verdana,Arial,Helvetica,sans-serif;font-weight: 700;">LOJA</span></div><table class="content"><tbody class="itens"></tbody></table><div id="cart"><div class="cart"></div><span class="myPoints"></span> <span class="total"></span></div><div class="daemon"><input onclick="buyItems()" value="Concluir compra" type="button" /> <input onclick="resetItems()" value="Resetar ítens" type="button" /></div>');
});
$(function() {
var produtos = {
/* Ícones da loja abaixo.
Lembre-se de adicionar uma vírgula ao final de cada novo ítem adicionado.
Não adicione vírgula após o último ítem adicionado. */
'Troca de nome': {
icone: 'https://cdn4.iconfinder.com/data/icons/small-n-flat/24/user-id-128.png',
preco: '250',
descricao: 'Este item te dá direito a uma troca de nick'
},
'Glow no nome': {
icone: 'http://cdn.mysitemyway.com/etc-mysitemyway/icons/legacy-previews/icons-256/glowing-green-neon-icons-natural-wonders/111790-glowing-green-neon-icon-natural-wonders-star8-sc48.png',
preco: '550',
descricao: 'Este item deixa seu nome com uma <span style="color:blue!important;text-shadow:0 0 3px blue;">aura</span>'
},
'Charmander': {
icone: 'http://i72.servimg.com/u/f72/18/07/42/17/shop_i33.png',
preco: '250',
descricao: 'Pokemón tipo fogo'
}
// Perceba que não existe vírgula após o último ítem. Caso queira adicionar mais ítens após o último, adicione uma vírgula logo após a chave "}". Lembre-se de deixar apenas o último ítem sem vírgula ao final.
};
var content = $('.content .itens');
$.each(produtos, function (key, value) {
content.append(
'<tr class="item">' +
' <td class="icone" style="width: 10%;"><img src="' + value.icone + '" /></td>' +
' <td style="width: 50%;"><strong class="nome">' + key + '</strong><br /><br />' + value.descricao + '</td>' +
' <td>' +
' <ul>' +
' <li class="preco" data-myprice="' + value.preco + '"><img src="http://i.imgur.com/qdiucii.png" /> <strong>Preço:</strong> ' + value.preco + ' dólares</li>' +
' <br />' +
' <li><input type="button" onclick="addToCart(this)" value="Adicionar ao carrinho" /></li>' +
' </ul>' +
' </td>' +
'</tr>'
);
});
$.ajax({
url: '/u' + _userdata.user_id,
type: 'GET',
success: function(responseHtml)
{
var myPoints = $('#field_id-13 dd', responseHtml).text();
$('.myPoints').html('Meu saldo em dólares: <span class="totalPoints">' + myPoints + '</span>');
},
error: function(err)
{
console.log("AJAX error in request (Store points)");
}
});
});
var $total = 0;
function addToCart(item) {
var getItem = $(item).parents('.item').find('.nome').text();
var getPrice = parseInt($(item).parents('.item').find('.preco').attr('data-myprice'));
$total += getPrice;
$('.total').html('Valor total: <span class="totalVal">' + $total + '</span> pontos');
$('.cart').append('<span class="item-cart" onclick="removeFromCart(this)" data-myprice="' + getPrice + '">' + getItem + '</span>');
}
function removeFromCart(item) {
var getPrice = parseInt($(item).attr('data-myprice'));
$total -= getPrice;
$('.total').html('Valor total: <span class="totalVal">' + $total + '</span> dólares');
$(item).remove();
}
function resetItems() {
$('.cart').empty();
$total = 0;
$('.total').empty();
}
function buyItems() {
if(!$('.cart').is(':empty')) {
var valPoints = parseInt($('.totalPoints').text());
var valTotal = parseInt($('.totalVal').text());
if(valPoints >= valTotal) {
var texto = '';
var total = 0;
$('.item-cart').each(function() {
var item = $(this).text();
var preco = parseInt($(this).attr('data-myprice'));
texto += '[b]' + item.charAt(0).toUpperCase() + item.slice(1)
//add line break at the end
+ ':[/b] ' + preco + " dólares\n";
total += preco;
});
texto += '\n\n[b]Valor total:[/b] ' + total + ' dólares';
$.post('/privmsg', {
'mode': 'post',
'post': '1',
'folder': 'inbox',
'usergroup': '1',
'subject': 'Pedido da loja',
'message': texto
}).done(function() {
alert("Seu pedido foi enviado! Aguarde até que um administrador adicione seus ítens.");
resetItems();
});
} else {
alert("Você não tem dinheiro suficiente para efetuar a compra");
}
} else {
alert("O carrinho está vazio");
}
}
</script>
E adicione em sua CSS:
- Código:
table.content {
background: #fafafa;
border: 1px solid #eaeaea;
border-collapse: separate;
empty-cells: show;
table-layout: fixed;
width: 100%;
}
.itens .nome {font-size: 14px;}
.itens .icone {
text-align: center;
}
.itens .icone img {
height: 50px;
width: 50px;
}
.item-cart {
background: orange url(https://cdn0.iconfinder.com/data/icons/very-basic-android-l-lollipop-icon-pack/24/close-16.png) no-repeat 5px;
margin: 3px 4px;
cursor: pointer;
display: inline-block;
font-weight: bold;
padding: 5px;
padding-left: 25px;
color: white;
border-radius: 3px;
}
table.content tr td {padding: 10px;background: #f0f0f0;border-bottom: 1px solid #e0e0e0;}
.itens ul li {list-style-type: none;}
.daemon {
background: #82cf36;
text-align: center;
padding: 10px;
}
#cart {
background: #f0f0f0;
border: 1px solid #e0e0e0;
margin-top: 5px;
padding: 5px;
}
.cart {
background: white url("https://cdn1.iconfinder.com/data/icons/flat-artistic-shopping-icons/32/shopping-32.png") no-repeat 10px center;
min-height: 50px;
padding-left: 55px;
border: 1px solid #ddd;
}
.total, .myPoints {font-size: 13px;display: block;margin-top: 5px;font-family: arial;display: block;font-style: italic;font-weight: bold;}
Preencha dessa forma:
http://prntscr.com/9f41nd
E teste! Será como se não estivesse aquela opção marcada.
Ficou mega bugado, acho que vou passar a informação na url e dar um split, obrigado a quem tentou ajudar
Re: Receber informações sobre o usuário em uma pagina html
Questão marcada como Resolvida ou o Autor solicitou que ela fosse arquivada. Tópico marcado como Resolvido e movido para "Questões resolvidas". |
Fórum dos Fóruns :: Ajuda e atendimento ao utilizador :: Questões sobre códigos :: Questões resolvidas sobre códigos Javascript e jQuery
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos