@chernousovkgb

Как отправить значение переменной js в php по нажатию на ссылку?

Как отправить значение переменной js в php по нажатию на ссылку c определенным атрибутом?

Хочу сделать ссылку-кнопку для удаления страниц из БД, но так, чтобы выводилось подтверждение перед удалением.

<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>
  • Вопрос задан
  • 138 просмотров
Решения вопроса 1
@chernousovkgb Автор вопроса
В общем решилось так.
Строю ссылку на удаление с идентифицирующими значениями атрибутов

<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);
          }
        });
}


Обработчик

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] удалена!";
				     
				 }

}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 05:01
999999 руб./за проект
19 апр. 2024, в 03:52
1000 руб./за проект
19 апр. 2024, в 03:01
1000 руб./за проект