Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Не отображается добавленный текст при AJAX-вызове
 
 автор: Василий   (30.12.2011 в 15:07)   письмо автору
 
 

Обнаружил, что если на странице уже есть комментарии то следующий комментарий отображается без перезагрузки страницы.
Если же комментарий вводится впервые на странице и нажатии кнопки "Отправить" текст подвисает и отображение нового коммента не осуществляется.
Стоит перегрузить страницу - коммент стоит на месте.

<h5>Комментарии:</h5>
<div id='cerror'></div>

<form action="#" method="POST" enctype="multipart/form-data" name="addcom" id="addcom" 
onSubmit="return false" class="sendform">
<input class="comment_name" type="text" name="author" id="author"> 
Ваше имя
<div class="corner20"><textarea name="text"></textarea></div>
<input name="id" type="hidden" value="<?php echo $id?>">
<input type='hidden' name='advertisment' value='<?php echo $myrow['title']; ?>'>
<input class="button-small" name="button" type="button" value='Отправить' 
onclick="doLoad(document.getElementById('addcom'))">
</form>

<!--вывод комментариев -->
<?php
$result 
mysql_query("SELECT * FROM comment_cat WHERE post='" mysql_real_escape_string($id)
 . 
"' ORDER BY date DESC, id"$db);
if(
mysql_num_rows($result) > 0)
{
$comment mysql_fetch_array($result);
do
{
$text $comment["text"];
$author $comment["author"];
$date $comment["date"];

printf("<div id='resultid'></div>
       <div class='comment-content2'>
       <h6>%s</h6>
       <p>%s</p>
       <p>%s</p>
       </div> 
       "
,$author,$date,$text);
}
while (
$comment mysql_fetch_array($result));
}

?>


// JavaScript Document
function doLoad(value){
    err=document.getElementById('cerror');
    err.innerHTML = "<img src='images/upload.gif' width='32' height='8'><br><p>
Ваш комментарий обрабатывается...</p>";
    // Create new JsHttpRequest object.
    var req = new JsHttpRequest();
    // Code automatically called on load finishing.
    req.onreadystatechange = function() {
        if (req.readyState == 4) {
          if (req.responseJS.error == 'no') {
            // Clear error information.
            err.innerHTML = "";
            // Write req.responseJS to page element (_req.responseJS become responseJS). 
            document.getElementById('resultid').innerHTML = req.responseJS.ok; 
            
            
            form = document.getElementById('addcom');
            form.text.value = "";
            form.author.value = "";    
            
          }
          else
          {
          err.innerHTML = req.responseJS.er_mess;
          }      
        }
    }
    // Prepare request object (automatically choose GET or POST).
    req.open(null, 'comment_cat.php', true);
    // Send data to backend.
    req.send( { q: value } );
}

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования