Как добавить в текстовое поле?

-2

Как добавить в textarea с PHP и затем обновить текстовое поле?

СПАСИБО

изменить: Он должен быть запущен сервером из кода PHP

  • 0
    Не могли бы вы быть более точным? Должно ли это быть запущено пользователем или запущено сервером? Не могли бы вы добавить код? В настоящее время ваш вопрос слишком конкретен.
  • 0
    Привет. Я не уверен, что вы после. Вы хотите заполнить текстовую область при запуске php-скрипта, затем представить ее пользователю, или вы хотите сделать что-то более «ajaxy» и динамически добавлять к текстовой области?
Показать ещё 4 комментария
Теги:

1 ответ

1

Самый простой подход - иметь функцию javascript, которая опросит php script с помощью ajax - скажем каждые 10 секунд. Вы можете добавить временную метку в качестве параметра функции php, чтобы она только возвращала последние записи журнала.

При возврате вызова ajax вы можете добавить полученный текст в текстовое поле, используя javascript.

Я мог бы выкупить какой-нибудь образец кода, если вам нравится?

Итак, вот HTML файл - он имеет функцию, чтобы сделать вызов AJAX script - log.php, который возвращает некоторые вещи (в этом примере это очень простая строка текста), а затем добавьте это в текстовой области.

Когда загружается script, мы устанавливаем таймер для запуска каждые 1000 миллисекунд (очевидно, измените это в соответствии с вашими потребностями).

У нас также есть функция "отменить обновления" и "начать обновление".

Итак - поместите файл html и файл php (который вам нужно вызвать log.php - или назовите его, что вам нравится, и измените код) в тот же каталог на вашем веб-сервере и посмотрите, что произойдет!

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

        <script type="text/javascript">
            var http = createRequestObject();
            var updateInt=self.setInterval("updateLog()",1000);


            function startAutoUpdate(){

                if(updateInt==""){
                    updateInt=window.setInterval("updateLog()",1000)
                }else{
                    stop_Int()
                }
            }
            function stopAutoUpdate(){

                if(updateInt!=""){
                    window.clearInterval(updateInt)
                    updateInt=""

                }
            }
            function createRequestObject() {
                var objAjax;
                var browser = navigator.appName;
                if(browser == "Microsoft Internet Explorer"){
                    objAjax = new ActiveXObject("Microsoft.XMLHTTP");
                }else{
                    objAjax = new XMLHttpRequest();
                }
                return objAjax;
            }

            function updateLog(){
                http.open('get','log.php');
                http.onreadystatechange = updateNewContent;
                http.send(null);
                return false;
            }

            function updateNewContent(){
                if(http.readyState == 4){

                    document.getElementById('log').innerHTML = document.getElementById('log').innerHTML + http.responseText;

                }
            }
        </script>
    </head>
    <body>
        <h2>Log</h2>
        <textarea cols="80" rows="10" name="log" id="log"></textarea>

        <span onclick="updateLog()">Update</span><br>
        <span onclick="stopAutoUpdate()">Cancel Auto Update</span><br>
        <span onclick="startAutoUpdate()">Start Auto Update</span><br>

    </body>
</html>

Здесь php script (очень простой)...

    <?PHP
/* Log responder script
 *
 * When invoked this script returns log entries
 * as this is a sample it just returns a couple of random items
 *
 */

echo "Log Entry ".date("d/m/y h:i:s")."\n";


?>
  • 0
    Да, это звучит правильно. Выловите немного кода, пожалуйста;)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню