JavaScript когда показывать результаты - PullRequest
1 голос
/ 25 марта 2010

Это мой Javascript ниже. Я хочу показывать записи при загрузке, а также показывать новые записи при добавлении в базу данных

showrecords (); отображает записи в базе данных, где я могу поместить это в свой код, где он будет работать правильно.

$(document).ready(function()
{
    //showrecords()

    function showrecords()
    {
        $.ajax({
            type: "POST",
            url: "demo_show.php",
            cache: false,
            success: function(html){

                $("#display").after(html);

                document.getElementById('content').value='';
                $("#flash").hide();

             }

        });
    }

    $(".comment_button").click(function() {

        var element = $(this);
        var test = $("#content").val();
        var dataString = 'content='+ test;

        if(test=='')
        {
            alert("Please Enter Some Text");

        }
        else
        {
            $("#flash").show();
            $("#flash").fadeIn(400)
                .html('<img src="http://tiggin.com/ajax-loader.gif" align="absmiddle">&nbsp;<span class="loading">Loading Comment...</span>');


            $.ajax({
                type: "POST",
                url: "demo_insert.php",
                data: dataString,
                cache: false,
                success: function(html){


                    // $("#display").after(html);
                    document.getElementById('content').value='';
                    $("#flash").hide();

                    //Function for showing records
                    //showrecords();

                 }
            });
        }

    return false;
    });
});

Ответы [ 2 ]

0 голосов
/ 08 декабря 2010

Я вставил ниже (непроверенный) код, который, я думаю, должен сделать работу. для вызова функций вы должны определить их в доступной области, будь то в «глобальном» (можно вызывать из любого места) пространстве имен, как я это делал ниже, или как часть другого объекта.

Вы также должны убедиться, что ваши функции определены, прежде чем пытаться их вызывать, так как все работает сверху вниз.

function showrecords() {
  $.ajax({
    type: "POST",
    url: "demo_show.php",
    cache: false,
    success: function (html) {

      $("#display").after(html);

      $('content').val('');
      $("#flash").hide();

    }

  });
}
function addComment() {
  var test = $("#content").val();
  var dataString = 'content=' + test;

  if (test == '') {
    alert("Please Enter Some Text");
  }
  else {
    $("#flash").show();
    $("#flash").fadeIn(400)
                .html('<img src="http://tiggin.com/ajax-loader.gif" align="absmiddle">&nbsp;<span class="loading">Loading Comment...</span>');

    $.ajax({
      type: "POST",
      url: "demo_insert.php",
      data: dataString,
      cache: false,
      success: function (html) {
        //$("#display").after(html);
        $('content').val('');
        $("#flash").hide();
        //Function for showing records
        showrecords();
      }
    });
  }
}

$(document).ready(function () {
  showrecords()

  $(".comment_button").click(function () {
    addComment();
    return false;
  });
});
0 голосов
/ 25 марта 2010

Хотя загрязнение глобального пространства имен не рекомендуется. Вот что я бы порекомендовал для вашего кода. Переместите функцию showRecords () из функции «Готовность к документу» и измените рефакторинг кода обновления ajax на другую функцию «updateRecords ()». Имейте только привязки событий внутри функции готовности документа.

Вы можете вернуть все комментарии как ответ на службу POST 'demo_insert.php' и вызвать 'showRecords ()' в обратном вызове службы обновления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...