[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: обновление страницы
Aden
Здравствуйте. Может кто знает как обновить страницу программно. Есть скрипт редактируемой таблицы. Щелкаем на ячейку, изменяем значение, оно записывается в БД. Есть кнопка удалить строку. Нажимаешь на кнопку, строка удаляется, но результат видим только после обновления страницы.
delete.php
<?php

require_once("dbdata.php");

$id = null;
$id = $_POST['itemid'];
if (($id != null) && ($id > 0)) {
//удаляем запись в БД
$con = connect();
$updateQuery = sprintf("DELETE FROM users WHERE id=%d",
mysql_real_escape_string($id));
if (mysql_query($updateQuery)) {
$results['deletedId'] = $id;
}

else {
$results['error_mes'] = "Не могу обновить запись: ".mysql_error();
}
}

if ($con != null) {
mysql_close($con);
}
echo json_encode($results);
//echo "<html><head><meta http-equiv='Refresh' content='0;
// URL=index.php'></head></html>";


?>




Спустя 2 минуты, 20 секунд (18.08.2011 - 11:30) waldicom написал(а):
Показывайте то место, где аяксом вызывается этот файл

Спустя 1 час, 9 минут, 21 секунда (18.08.2011 - 12:40) l@pteff написал(а):
Можно так:

window.location.reload();

Спустя 36 минут, 26 секунд (18.08.2011 - 13:16) Aden написал(а):
index.php
......
<
td>
<
a href="#" class="deleteLink" onclick="deleteItem(<?php echo $item['id']; ?>)">
<
img src="css/images/delete.gif" alt="Удалить" title="Удалить" />

</
td>
..........


task.js
//эта функция удаляет элемент списка
function deleteItem(id) {
var pars = $H({itemid:id}).toQueryString();
new Ajax.Request(
"scripts/delete.php",
{method:"post", parameters:pars,
onSuccess:function(transport) {
var data = eval('(' + transport.responseText + ')');
//удаляем элемент из списка
var listElem = $('itemId_' + data.deletedId).parentNode.getAttribute('id');
Element.remove(listElem);
var listNum = listElem.substring(8);
//обновляем номера у всех остальных записей
var nodes = $$('#list li');
nodes.each(
function(node, index) {
if (index >= listNum) {
node.setAttribute('id', 'listNum_' + index);
var innerNodes = $A(node.getElementsByTagName('div'));
innerNodes[0].innerHTML = index + 1;
innerNodes[1].setAttribute("onclick", "closeOtherEditors(" + index + ")");
}
}

);
//удаляем редактор из массива
editors.splice(listNum,1);
}}
);
}

Спустя 1 минута, 19 секунд (18.08.2011 - 13:17) Aden написал(а):
А где нужно прописать window.location.reload();?

Спустя 28 минут, 13 секунд (18.08.2011 - 13:46) l@pteff написал(а):
В самом конце функции в js-файле:

//удаляем редактор из массива
editors.splice(listNum,1);
window.location.reload();

Спустя 17 минут, 2 секунды (18.08.2011 - 14:03) Aden написал(а):
Обновление не срабатывает, только после нажатия на F5.

Спустя 4 минуты, 36 секунд (18.08.2011 - 14:07) Renden написал(а):
Aden
Я несовсем понял, а чем header("Location:") не устраивает, или нужно исключительно на javascript?

зы, мона попробывать:
editors.splice(listNum,1);
location.href ="страница.php";

Спустя 59 минут, 12 секунд (18.08.2011 - 15:06) Guest написал(а):
Пишу
editors.splice(listNum,1);
location.href ="index.php";
Обновление не работает. снова приходится нажиматьF5.

скрипт с базой: http://mogilevmebel.com/admin/edittable.rar
Если не тяжело, посмотрите smile.gif

Спустя 13 минут, 44 секунды (18.08.2011 - 15:20) Aden написал(а):
Может править нужно в delete.php ?
Быстрый ответ:

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