C
C
chernousovkgb2021-11-25 11:46:14
AJAX
chernousovkgb, 2021-11-25 11:46:14

How to send js variable value to php on link click?

How to send the value of a js variable to php on clicking a link with a specific attribute?

I want to make a link-button for deleting pages from the database, but in such a way that a confirmation is displayed before deleting.

<p>Вы действительно хотите удалить страницу id = <?php echo $listobn['id']; echo " название <a href=\"мойсайт/$listobn[lat_url]\"> $listobn[title] </a>";?> </p>

<p><a href="#" name='btn_del' id="dell"  data-delid="<?php echo $listobn['id'];?>" >Да</a>   <a href="site/admin/">Нет</a></p>


<script type="text/javascript" language="javascript">
 // здесь нужно как то поймать событие по нажатию на ссылку с атрибутом dell а затем остальное
 	  var attribute = document.getElementById("dell");
      var align = attribute.getAttribute("data-delid"); // получаю значение атрибута
     
alert(align);
// а дальше хочу его передать обработчику
        $.ajax({
          type: 'POST',
          url: 'мой путь',
          data: align,
          success: function(data) {
            $('#del').html(data);
          },
          error:  function(xhr, str){
      alert('Возникла ошибка: ' + xhr.responseCode);
          }
        });
 	
    
</script>

Answer the question

In order to leave comments, you need to log in

1 answer(s)
C
chernousovkgb, 2021-11-25
@chernousovkgb

In general, it was decided so.
Building a delete link with identifying attribute values

<a href="#" name='btn_del' id="dell" data-inf="<?php echo $listobn['title'];?>"  data-delid="<?php echo $listobn['id'];?>" onclick="change()">Да</a>
// по клику вызываю функцию вызова js

function change() {
// получаю значения атрибутов ссылки
var attribute = document.getElementById("dell");
var align = attribute.getAttribute("data-delid");
var dele = attribute.getAttribute("id");
var inf = attribute.getAttribute("data-inf");
alert("Страница" + inf + " будет удалена!");
// отправляю обработчику
        $.ajax({
          type: 'POST',
          url: 'путь',
// массивом
          data: { id: dele, idnews: align, title: inf},
          success: function(data) {
            $('#del').html(data);
          },
          error:  function(xhr, str){
      alert('Возникла ошибка: ' + xhr.responseCode);
          }
        });
}

Handler
if ((isset ($_POST['id'])) && ($_POST['id'])=="dell") {
    $newsid = $_POST['idnews'];
      $conn = mysqli_query($db, "DELETE FROM news WHERE id='$newsid'");
         if ($conn) {
             echo "Страница $_POST[title] удалена!";
             
         }

}

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question