Запись вводимых данных при добавлении новостей
Небольшой хак поможет вам сохранить введенные данные, если при добавлении новости у вас вдруг отключат электричество или вы случайно закроете окно с формой добавления новости в админпанели.
Установка:
1. Открыть engine/inc/addnews.php и найти:
echo "<form method=post name=\"addnews\" id=\"addnews\" onsubmit=\"if(checkxf()=='fail') return false;\" action=\"$PHP_SELF\">";
Добавить выше:
echo '<script type="text/javascript">
$(document).ready(function() {
var olddatathisform = JSON.parse(localStorage.getItem(\'addnews_form\')); //получаем данные записи
if(olddatathisform){
$("#data_get,#data_del").show();
}
$(\'#data_del\').click(function() {
localStorage.removeItem(\'addnews_form\');
$("#data_get,#data_del").hide();
});
$(\'#data_get\').click(function() {
$.each(olddatathisform, function(i, val) {
document.addnews.elements[\'\'+val.name+\'\'].value = \'\'+val.value+\'\';
});
});
$(\'#data_recording\').click(function() {
setInterval(data_recording, 1000);
});
});
function data_recording(){
localStorage.removeItem(\'addnews_form\');
var info = $(\'#addnews\').serializeArray();
localStorage.setItem(\'addnews_form\',JSON.stringify(info));
$(\'#data_recording\').html("Идет запись...");
}
</script>';
Найти далее:
{$lang['addnews_news']}
Добавить после:
<b><a href="javascript:void();" style="float:right;padding-right:10px;" id="data_recording">Начать запись</a></b>
<a href="javascript:void();" style="float:right;padding-right:10px;display:none;" id="data_get">Получить данные</a>
<a href="javascript:void();" style="float:right;padding-right:10px;display:none;" id="data_del">Удалить запись</a>
2. Если вы хотите, что бы и пользователи могли использовать данный хак, то открываем файл addnews.tpl шаблона и вставляем:
<script type="text/javascript">
$(document).ready(function() {
var olddatathisform = JSON.parse(localStorage.getItem('addnews_form')); //получаем данные записи
if(olddatathisform){
$("#data_get,#data_del").show();
}
$('#data_del').click(function() {
localStorage.removeItem('addnews_form');
$("#data_get,#data_del").hide();
});
$('#data_get').click(function() {
$.each(olddatathisform, function(i, val) {
document.entryform.elements[''+val.name+''].value = ''+val.value+'';
});
});
$('#data_recording').click(function() {
setInterval(data_recording, 1000);
});
});
function data_recording(){
localStorage.removeItem('addnews_form');
var info = $('#entryform').serializeArray();
localStorage.setItem('addnews_form',JSON.stringify(info));
$('#data_recording').html("Идет запись...");
}
</script>
<b><a href="javascript:void();" style="float:right;padding-right:10px;" id="data_recording">Начать запись</a></b>
<a href="javascript:void();" style="float:right;padding-right:10px;display:none;" id="data_get">Получить данные</a>
<a href="javascript:void();" style="float:right;padding-right:10px;display:none;" id="data_del">Удалить запись</a>
Готово!
• Автор: rocksmart
Посетители, находящиеся в группе Гость, не могут оставлять комментарии к данной публикации.