[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: удаление ссылкой
NoCash
написал скрипт который удаляет строку по нажатию на ссылку и переходит по ней. наведите на мысль как сделать так что бы по ссылке узер не переходил, а оставался на той же странице на которой нажал на нее!


if (IsSet($_GET['del'])){
$nom_id = $_GET['basket_id'];
$del = $_GET['del'];
$vtsql2 = new db;
$vtsql2 -> db_Delete("vt_basket", "basket_id='$del'");
unset($_SESSION['basket'][$del]);
}


$text .="<td><a href='".e_PLUGIN."vtrade/vtrade.php?page=order&del=$nom_id'>удалить</a></td>";




Спустя 8 минут, 12 секунд (15.03.2013 - 08:22) Michael написал(а):
AJAX

Спустя 2 часа, 13 минут (15.03.2013 - 10:35) NoCash написал(а):
можно хоть маломалский пример. с ajaх воверхностно только сталкивался

Спустя 3 минуты, 35 секунд (15.03.2013 - 10:39) Michael написал(а):
Само просто - так.
По нажатию на ссылку следующие действия:
1) отправляешь ajax запрос чтобы изменить состояния на сервере
2) изменяешь яваскриптом DOM на странице.

Спустя 50 минут, 54 секунды (15.03.2013 - 11:30) NoCash написал(а):
оу) в jqery разбираться ж придется(

Спустя 4 минуты, 51 секунда (15.03.2013 - 11:34) Michael написал(а):
а что яваскрипт ты уже знаешь? wink.gif
Если бы знал, то сделал бы аякс запрос и без jquery. На jquery это просто очень легко.

Спустя 9 минут, 52 секунды (15.03.2013 - 11:44) NoCash написал(а):
да как то все время обходил стороной jquery. ну вот только скачал я jquery закинул на сервак и что с ним делать дальше)) пошел читать мат.часть про jquery.

Спустя 1 час, 11 минут, 10 секунд (15.03.2013 - 12:55) NoCash написал(а):
а если запретить переход по ссылке то работать будет удаление?

Спустя 6 минут, 35 секунд (15.03.2013 - 13:02) f.Michail написал(а):
нет, не будет. у тебя же пхп скрипт удаляет.

Юзай jquery - там есть функция ajax, с её помощью можешь сделать запрос в базу. ну и удаление

Спустя 30 минут, 30 секунд (15.03.2013 - 13:33) Nikitian написал(а):
Добавляете на страницу невидимый iframe, даёте ему имя, и прописываете это имя в атрибут target ссылки удаления. Пользователь останется на странице после клика и будет исполнен скрипт удаления. Никакого аякса и даже javascript )

Спустя 16 минут, 16 секунд (15.03.2013 - 13:49) killer8080 написал(а):
Цитата (Nikitian @ 15.03.2013 - 12:33)
Никакого аякса и даже javascript )

ну js все равно понадобится, чтобы сообщить о результате запроса smile.gif
Хотя не вижу никакого преимущества перед аяксом, браузеров без поддержки XHR уже в природе наверно не осталось. rolleyes.gif

Спустя 2 часа, 30 минут, 48 секунд (15.03.2013 - 16:20) Nikitian написал(а):
killer8080
Если не делать скрытым ифрейм, то можно сообщить прямо в нём biggrin.gif Ага, костыльное решение, но довольно простое и кроссбраузерное. Сообщить js-ом о результате это alert() - функция, которую изучают в первую очередь при изучении javascript. А вот сделать полноценный ajax-запрос, да ещё и кроссбраузерно, да ещё и если надо файл отправить, а не просто по ссылке перейти, то ифрейм самый простой и рабочий вариант.

Спустя 2 дня, 19 часов, 5 минут, 57 секунд (18.03.2013 - 11:26) NoCash написал(а):
решил сделать через ифрейм. возник вопрос с алертом. пишу что бы когда загрузился ифрейм вылезло сообщение удаляем или нет. но вот проблемма в том что фрейм грузиться до нажатия на ссылку. подскажите как попровить

Спустя 35 минут, 40 секунд (18.03.2013 - 12:01) killer8080 написал(а):
Цитата (NoCash @ 18.03.2013 - 10:26)
но вот проблемма в том что фрейм грузиться до нажатия на ссылку

а что ты в src прописал?

Спустя 59 минут, 11 секунд (18.03.2013 - 13:00) NoCash написал(а):
ничево не писал

$text .="<td><a href='".e_PLUGIN."vtrade/vtrade.php?page=order&del=$nom_id' target='del' >удалить</a></td>";
$text .="<iframe name='del' onload='fresh()' ></iframe>";


Спустя 19 минут, 26 секунд (18.03.2013 - 13:20) NoCash написал(а):
добавил в ифрейм страница загрузилась спраивает и когда нажимаешь на удалить то тоже появляется

Спустя 1 час, 14 минут, 8 секунд (18.03.2013 - 14:34) NoCash написал(а):
все разорался)) вот так вот сделал
<script language="javascript" type="text/javascript" >
<!--

function confirmRefresh() {
var okToRefresh = confirm("вы хотите удалить этот товар?");
if (okToRefresh)
{
setTimeout("location.reload(true);",1500);
}
}

</script>




$text .="<td><a href='".апарр' onclick='javascript:confirmRefresh();' target='del' >удалить</a></td>";
$text .="<iframe name='
del' hidden scr='".e_PLUGIN."vtrade/vtrade.php?page=order&del=$nom_id' onload='fresh()' ></iframe>";


Спустя 1 час, 44 минуты, 53 секунды (18.03.2013 - 16:19) killer8080 написал(а):
вообще всё предполагалось гораздо проще, типа такого
<a href="<?=e_PLUGIN."vtrade/vtrade.php?page=order&del=".$nom_id?>" target="delifr">удалить</a>

<
iframe name="delifr" style="display:none"></iframe>


vtrade.php
// ...
mysql_query("DELETE FROM `table` WHERE `id`=".(int)$_GET['nom_id']);
$affected_rows = mysql_affected_rows();
if($affected_rows > 0)
$message = 'запись успешно удалена';
elseif($affected_rows == -1)
$message = 'ошибка базы данных';
else
$message = 'запись не была удалена, возможно вы повторно нажали на ссылку';
?>
<html>
<
head>
<
script type="text/javascript">
alert('<?=$message?>');
</
script>
</
head>
<
body></body>
</
html>
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.