Кнопка ввода HTML JS onClick - PullRequest
0 голосов
/ 13 июня 2018

Я пытаюсь выполнить скрипт только при нажатии кнопки, моя проблема в том, что скрипт выполняется каждый раз, когда я обновляю или ввожу на страницу ...

Моя функция 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">&nbsp;</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>

1 Ответ

0 голосов
/ 13 июня 2018

Вам необходим

  1. скрипт, который обрабатывает запрос со страницы, содержащий метод add_prod_carrihno и который получает параметры для метода.Давайте назовем этот add_prod.php.
  2. сценарий, который генерирует страницу, например index.php

В index.php у вас есть метод onClick , которыйгенерирует запрос для вызова http://your_server/add_prod.php?id=1234, где 1234 - идентификатор, который вы хотите вставить.

\\ load jQuery here....

<script>
  $(".addcarrinho").click( function() {
    $.ajax({
       url: "http://your_server/add_prod.php",
       data: { id: your_id }
    })
  })
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...