Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум на Исходниках.RU > PHP > Предпросмотр на пхп


Автор: slastik 08.08.04, 11:10
Подскажите кто знает
как можно несложно реализовать предосмотр как на форумах, на пхп.

тоесть при нажатии кнопки "предосмотр" информация введеная в поле должна отображаться на той же странице
а при нажатии "отправить" данные отправляються в бауз и отображаються на другой странице

Автор: Mastilior 08.08.04, 18:30
Вопрос обширный. Т. к. все зависит от организации твоего форума, могу подкинуть только идею.

Допустим, что у тебя есть функция, которая выводит один пост
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
     
    function putpost($_post_id,$_preview_post)
    {
    if ($_post_id!=-1)
     {
    // получаешь своими методами текст сообщения ($_post) по идентификатору ($_post_id)
     }
     else
     {
    // $_post_id равен 1, значит это preview
     $_post=$_preview_post;
     }
     
    // подготавливаешь сообщение к выводу
     
    echo "<b>".$_user_name."</b> wrote: ".$_post."<br><br>";
    }


Скрипт предпросмотра preview.php
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
     
    <?
    // получаешь сообщение (из POST, например)
    $_preview_post=$_POST["post"];
     
    putpost(-1,$_preview_post);
    ?>


Форма нового сообщения
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
     
    <script language="javascript">
    <!--
    function func1()
    {
    var fv=document.forms["form1"];
    fv.action="./preview.php";
    fv.submit();
    }
    //-->
    </script>
     
    <form name=form1 action="./addpost.php">
    <textarea name=post></textarea>
    <input type=submit value="Добавить">
    <input type=button onclick="func1();">
    </form>


Цитата
slastik, 8.08.04, 17:10
информация введеная в поле должна отображаться на той же странице

Лучше так не делать. Всю работу по парсингу поста на плечи JS не положешь. Если уж так надо, можно воспользоваться IFRAME'мом. Тогда в JS-функцию func1() придется вставить еще и:
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
     
    fv.target="framename";

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