Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Предосмотр новости перед публикацией


Автор: AtomoS 2.1.2010, 06:32
Приветствую всех.
Недавно начал писать http://lightengine.exofire.net/?page=news, ничего особенного из себя не представляющий.

На страничке добавления хочу ввести функцию "Предосмотра новости перед публикацией",
но ума не приложу как это сделать, чтобы не потерять данные из формы добавления новости.

Вот страница для добавления новости:
Код

<form enctype="multipart/form-data" method=post action="?page=admin&act=news&command=add">
<table width="450" border="0" cellpadding="1" cellspacing="1">
<tr><td>Название:</td><td><input class="input" size="60" type="text" name="title"></td>  </tr>
    <tr><td>Автор:</td><td><input class="input" size="60" type="text" name="autor"></td></tr> 
    <tr><td>Дата:</td><td><input class="input" size="60" type="text" name="posted"></td></tr>
    <tr><td>Содержание:</td><td><textarea class="input" name="body" rows="10" cols="45"></textarea></td></tr>
<tr><td>Отображать:</td><td><input type="checkbox" name="hide"></td></tr>
<tr><td>&nbsp;</td><td><input type="submit" name="add" value="Добавить новость">
<input type="submit" name="preview" value="Предварительный просмотр"></td></tr>
</table>
</form>


Нужно сделать такую фичу: Когда нажимаю на "Предварительный просмотр" то открывается новая вкладка с данными из формы, эдак предосмотр получиться должен.

Есть у кого идеи? думаю на JS можно реализовать ((

Автор: 12345c 2.1.2010, 08:43
Цитата(AtomoS @  2.1.2010,  06:32 Найти цитируемый пост)
на пхп. этого не реалтзовать

Вводит в недоумение это заведомо ложное утверждение. Или в смысле нет доступа к пхп? Чтобы не портить данные форм, нужно form target в другой фрейм.
Цитата(AtomoS @  2.1.2010,  06:32 Найти цитируемый пост)
Есть у кого идеи?
Идей не нужно. Просто делается предпросмотр, как угодно и на чём угодно. На JS - да, конструируется со взятием значений полей форм по общим правилам. Например, document.getElementsByName('body')[0].value .

Автор: AtomoS 2.1.2010, 17:02
Спасибо 12345c за идею.
А вот собственно и решение моей проблеммы.
Код

function preview_news()
{
        var title = document.getElementsByName('title')[0].value;
        var autor = document.getElementsByName('autor')[0].value;
        var posted = document.getElementsByName('posted')[0].value;
        var body = document.getElementsByName('body')[0].value;
        
    if (title.length > 0 && autor.length > 0 && posted.length > 0 && body.length > 0)
    {
        var _window;
        _window = window.open('', 'Предпросмотр', 'toolbar=0, width=400, height=300');
        _window.document.open();
        _window.document.write('<h2>'+title+'</h2><p class="timestamp">Опубликовано '+posted+' by '+autor+'</p><p>'+body+'</p>');
        _window.focus();
    }
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)