Я пытаюсь выполнить скрипт только при нажатии кнопки, моя проблема в том, что скрипт выполняется каждый раз, когда я обновляю или ввожу на страницу ...
Моя функция JS:
<script>
document.getElementById("addcarrinho").onclick = function ()
{
alert("<?PHP add_prod_carrinho(get_produto(@$_GET['id'])[0][id_produto]); ?>");
};
</script>
Эта функция выполняется каждый раз, когда я вхожу на страницу, может кто-нибудь объяснить, почему?
Это была моя первая функция:
<script>
function add_carrinho()
{
alert("<?PHP add_prod_carrinho(get_produto(@$_GET['id'])[0][id_produto]); ?>");
};
</script>
Также не работает.
Это функция, которую выполняет скрипт:
function add_prod_carrinho($prod_id)
{
global $connection;
$query = "INSERT INTO carrinho (id_cliente, id_produto) VALUES ('".$_SESSION['user_id']."', '".$prod_id."');";
if(!$connection->query($query))
{
echo 'Houve um erro ao adicionar o produto ao carrinho.';
}
}
Это полная страница для этого кода:
<style type="text/css">
.tg {border-collapse:collapse;border-spacing:0;}
.tg td{font-family:Arial, sans-serif;font-size:14px;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:black;}
.tg th{font-family:Arial, sans-serif;font-size:14px;font-weight:normal;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:black;}
.tg .tg-yw4l{vertical-align:top}
.tg .tg-yw42{text-align:left; vertical-align:top;}
</style>
<script>
document.getElementById("addcarrinho").onclick = function ()
{
alert("<?PHP add_prod_carrinho(get_produto(@$_GET['id'])[0][id_produto]); ?>");
};
</script>
<!-- Begin Post -->
<div class="content_product">
<h2>Produtos - <?php echo get_produto(@$_GET['id'])[0][nome]; ?><span class="title-bottom"> </span></h2>
<?php
echo '<table class="tg">
<tr>
<th class="tg-yw4l"><img src="css/images/product-img1.jpg" alt="Imagem de '.get_produto(@$_GET['id'])[0][nome].'" /></th>
<th class="tg-yw42">
'.get_produto(@$_GET['id'])[0][nome].'
</br>
'.get_produto(@$_GET['id'])[0][descricao_breve].'
</br>
</br>
<span>Preço s/iva: </span>'.get_produto(@$_GET['id'])[0][preco_sem_iva].'<span>€</span>
</br>
<span>Preço c/iva: </span>'.get_produto(@$_GET['id'])[0][preco_com_iva].'<span>€</span>
</br>
</br>
'.get_produto(@$_GET['id'])[0][id_produto].'
<input id="addcarrinho" type="button" value="Adicionar ao carrinho" onclick="add_carrinho()"/>
</th>
</tr>
</table>
</br>
'.get_produto(@$_GET['id'])[0][descricao].'';
?>
</div>
<!-- End Post -->
Я использую контейнеры, так что естьна этой странице нет меток тела или головы ...
Может ли кто-нибудь мне помочь?
Спасибо
РЕДАКТИРОВАТЬ: Спасибо @vogomatix за помощь.Решение:
<script>
$(".addcarrinho").click( function() {
$.ajax({
url: "http://your_server/add_prod.php",
data: { id: your_id }
})
})
</script>