Конфликт с jQuery и JPagination, JPagination не работает

JPagination не работает для разбиения на страницы <div> с <li>. Я не знаю, является ли это конфликтом с идентификатором, или это PHP, или что именно здесь происходит, я надеюсь, что кто-то может помочь мне понять, что происходит.

Вот что я получил. Во-первых, вот мой HTML. Это страница, которую я делаю, чтобы «разместить ваш текст» на стене (это <div> с <ul>). Вот тело HTML:

    <div id="head">
    <form name="postbar_add_post" id="postbar_add_post" method="post">
        <fieldset>
            <legend>What are you doing now? ...</legend>
            <input type="text" name="addcontentbox" id="addcontentbox" maxlength="200" />
            <input type="submit" name="addpost" value="Submit" class="submit" />
            </fieldset>
    </form>
    </div>

    <div id="cuerpo"><ul id="wall"></ul></div> 

Итак, в заголовке документа у меня вызывается jQuery, а также плагин под названием JPagination, а также в заголовке у меня есть скрипт, который заставит содержимое «опубликоваться на стене», просто чтобы убедиться, что я все правильно делаю, вот что у меня получилось на шапке документа:

    <script src="http://c.fzilla.com/1286136086-jquery.js"></script> 
    <script src="http://c.fzilla.com/1291523190-jpaginate.js"></script>  

    // This is the script to post whats typed on the input to the div called wall:

    <script type="text/javascript">
    $.noConflict();
    jQuery(document).ready(function(){
        jQuery("form#postbar_add_post").submit(function() {
            var addcontentbox = jQuery('#addcontentbox').attr('value');

            if ( addcontentbox.replace(/\s/g,"") == "" ) return false;

    jQuery.ajax({
    type: "POST",
    url: "postear.php",
    data:"addcontentbox="+ addcontentbox,
    success: function(){
    jQuery("ul#wall").prepend("<li>"+addcontentbox+"</li>");
    jQuery("ul#wall li:first").fadeIn();
    document.postbar_add_post.addcontentbox.value='';
    document.postbar_add_post.addcontentbox.focus();
    }
    });
    return false; 
    });
    });
    </script>


    // and this would be where I try to paginate the content

    <script type="text/javascript">
        $(document).ready(function() {
            $("#wall").jPaginate();        
        });
    </script>

Так что постинг работает просто отлично! Но разбиение на страницы никогда не происходит, если я изменю функцию, чтобы применить ее к родительскому <div>, ничего не произойдет, она останется прежней. До добавления «noconflict» из jQuery это даже не сработало.

На всякий случай я оставляю PHP, вызываемый первой функцией, здесь:

    <?php
    if( isset($_POST['addcontentbox']))
       {
       // Connection to Database
       include('config.php');

       // NO Query Injection
       $message = mysql_real_escape_string($_POST['addcontentbox']);

       // echo
       $sql = 'INSERT INTO WALL (message) VALUES( "'.$message.'")';
       mysql_query($sql);

       echo $message;
       }
    else
       { 
       echo '0';
       }
    ?> 

Любое руководство или решение любого рода будет принята с благодарностью.


person Ivan    schedule 28.08.2011    source источник


Ответы (1)


Я только что быстро прочитал ваш вопрос, я думаю, что вы используете много плагинов, поэтому проблема, я думаю, связана с использованием нескольких плагинов, поэтому всегда обертывайте свой код javascript самовызывающимися функциями, такими как

(function($){

  /// Your page code here
  // Here you can use $ 
  // We are passing jquery as $ to this self invoking function.

})(jQuery)

Как исправить проблемы Lightbox2 с помощью $.noConflict() ?

person Pir Abdul    schedule 28.08.2011