Пока так. При нажатии на ссылку появляется новое окно. После того, как в нем ввели текст и нажали на кнопку текст записывается в базу. А тепер ьвопрос. Как обновить ту страницу, с которой открылось это окошко?
Нашел свойство window.opener, но как пользоваться незнаю.

Спустя 32 минуты, 37 секунд (20.05.2011 - 06:26) kirik написал(а):
Попробуй так:
window.opener.location.reload()
Спустя 13 минут, 11 секунд (20.05.2011 - 06:39) XCross написал(а):
Вообще функция работает! Спасибо. Но когда пытаюсь обновить через несколько секунд, то нет.
Делаю вот так. Без реакции.
var opn=setTimeout(window.opener.location.reload(),5000);
Делаю вот так. Без реакции.
<input type="submit" name="rename" value="Переименовать" onClick="upd();"/>
Спустя 4 минуты, 8 секунд (20.05.2011 - 06:43) kirik написал(а):
А так?
var opn=setTimeout(function() { window.opener.location.reload() }, 10000);
Спустя 2 часа, 55 минут, 12 секунд (20.05.2011 - 09:38) XCross написал(а):
Не выходит.

Спустя 21 минута, 22 секунды (20.05.2011 - 09:59) ИНСИ написал(а):
kmaks попробуй так:
var opn = setTimeout(
function() {
window.opener.location.reload();
},
10000
);
Спустя 39 минут, 12 секунд (20.05.2011 - 10:39) XCross написал(а):
<script type="text/javascript">
function upd(){
var opn = setTimeout(
function() {
window.opener.location.reload();
},
10000
);
};
</script>
<div style="margin-top: 30px;">
<title>Изменение названия</title>
<center>
<font color="red">
<?php
if(count($errors) != 0){
echo implode('<br>', $errors) .'<br>';
}
?>
</font>
<form action="" method="POST">
<input type="text" name="new_name" value="<?php echo $name['cat_name'];?>"/>
<input type="submit" name="rename" value="Переименовать" onClick="upd();"/>
</form>
</center>
</div>
С задержкой не обновляет. А если просто
window.opener.location.reload();
то все гуд, но данные добавляются в базу медленнее, чем страничка обновится и увидеть результат можно только 2-3 раза нажав на кнопку.
Спустя 3 минуты, 5 секунд (20.05.2011 - 10:42) kirik написал(а):
Цитата (kmaks @ 20.05.2011 - 03:39) |
но данные добавляются в базу медленнее, чем страничка обновится. |
Гы)) таймаут - это не выход в такой ситуации (точнее костыль). AJAX'ом будет логичнее.
Спустя 9 минут, 20 секунд (20.05.2011 - 10:51) XCross написал(а):
Смотри(те):
Страница категорий.
Дабы не создавать еще одну страничку чтоб можно было переименовать я просто делаю окошко в котором всего: 1xText, 1xButton. И все. В новое окно передается id каегории, которую нужно переименовать. Дальше скрипт:
Берем исходное имя, вставляем его в text(input type), и если нажали на кнопку "применить", то UPDATE `category` WHERE `cat_id`...
А в это время на странице категорий должно обновится имя. Т.е. ненужно никакого аякса. Просто обновить ее автоматически.
Возможно, это не лучший вариант, но пока так. Дальше посмотрим.
Страница категорий.
Дабы не создавать еще одну страничку чтоб можно было переименовать я просто делаю окошко в котором всего: 1xText, 1xButton. И все. В новое окно передается id каегории, которую нужно переименовать. Дальше скрипт:
Берем исходное имя, вставляем его в text(input type), и если нажали на кнопку "применить", то UPDATE `category` WHERE `cat_id`...
А в это время на странице категорий должно обновится имя. Т.е. ненужно никакого аякса. Просто обновить ее автоматически.
Возможно, это не лучший вариант, но пока так. Дальше посмотрим.
Спустя 10 минут, 44 секунды (20.05.2011 - 11:02) kirik написал(а):
Смотри:
на странице категорий при нажатии "редактировать" создаешь JS'ом рядом input-text элемент, в который переносишь название категории. После редактирования нажимаешь кнопку "сохранить" (которую тоже создал JS'ом) и данные уходят AJAX'ом на сервер (типа cat_id=2&new_name={новое имя из поля}). На время выполнения запроса текстовое поле блокируется, вставляешь картинку-лоадер (крутящиеся часики). А после выполнения запроса просто убираешь то что создал, и вставляешь новое название на место старого.
Звучит сложнее, но на практике проще и аккуратнее.
на странице категорий при нажатии "редактировать" создаешь JS'ом рядом input-text элемент, в который переносишь название категории. После редактирования нажимаешь кнопку "сохранить" (которую тоже создал JS'ом) и данные уходят AJAX'ом на сервер (типа cat_id=2&new_name={новое имя из поля}). На время выполнения запроса текстовое поле блокируется, вставляешь картинку-лоадер (крутящиеся часики). А после выполнения запроса просто убираешь то что создал, и вставляешь новое название на место старого.
Звучит сложнее, но на практике проще и аккуратнее.
Спустя 4 минуты, 24 секунды (20.05.2011 - 11:06) XCross написал(а):
Звучит проще, чем должен выглядеть код. Щас пошарюсь где-нибудь.
Но тогда все остально исчезнет.
document.write?
Но тогда все остально исчезнет.
Спустя 17 минут, 16 секунд (20.05.2011 - 11:23) ИНСИ написал(а):
kmaks ничего сложного нет, если через ajax (jquery) то как-то так надо:
В скрипте обработчике, при успехе выводи число 1 :)
P.S. Это пример. Надо поставить значения которые нужны, то есть путь к обработчику и т.д.
function update() {
var id = '<?=$name['id']?>';
var title = $('input#title').val();
$.ajax({
type: 'POST',
url: 'update.php',
data: 'id=' + id + '&title=' + title,
success: function(data) {
if(data == '1')
window.opener.location.reload();
else
alert('ERROR!');
}
});
}
<form action="" method="POST">
<input type="text" name="new_name" id="title" value="<?php echo $name['cat_name'];?>"/>
<input type="submit" name="rename" value="Переименовать" onClick="update();"/>
</form>
В скрипте обработчике, при успехе выводи число 1 :)
P.S. Это пример. Надо поставить значения которые нужны, то есть путь к обработчику и т.д.
Спустя 5 минут, 39 секунд (20.05.2011 - 11:29) kirik написал(а):
Цитата (velbox @ 20.05.2011 - 04:23) |
kmaks ничего сложного нет, если через ajax то как-то так надо: |
Ты не указал что это пример с jquery
Спустя 1 минута, 5 секунд (20.05.2011 - 11:30) XCross написал(а):
Цитата |
kmaks ничего сложного нет, если через ajax то как-то так надо: |
Не-не.Я даж базового синтаксиса незнаю. Я к аяксу даж не прикоснусь так как 100% получится бяка(моими руками).
Спустя 26 минут, 33 секунды (20.05.2011 - 11:57) kirik написал(а):
Цитата (kmaks @ 20.05.2011 - 04:30) |
Я к аяксу даж не прикоснусь так как 100% получится бяка(моими руками). |
А если не прикоснёшься, то вообще ничего не получится

Спустя 20 минут, 52 секунды (20.05.2011 - 12:18) XCross написал(а):
За 3 зайцами погонишся-ниодного не поймаешь

Спустя 56 минут, 29 секунд (20.05.2011 - 13:14) ИНСИ написал(а):
Цитата |
Ты не указал что это пример с jquery |
Дополнил

_____________
Обмен Ukash на WebMoney