Answer the question
In order to leave comments, you need to log in
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
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);
}
});
}
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 questionAsk a Question
731 491 924 answers to any question