Сгенерированный HTML-код недоступен для кликов - PullRequest
0 голосов
/ 26 августа 2009

Помогите мне, пожалуйста, я новичок в AJAX и фреймворке live (), но помог только при удалении плагина, с плагином редактирования не работает, в чем может быть проблема ...

Это скрипт для редактирования

<script type="text/javascript">
    $(document).ready(function() {
        $('.editme').editable('func/update_data.php', {
            submitdata: {
                type: "<?php echo $page_type?>"
            },
            cancel: 'Cancel',
            submit: 'OK',
            tooltip: 'Click to edit...',
            id: 'element_id',
            name: 'update_value',

        });
    });
</script>

это скрипт для модального окна плагина и

$(document).ready(function () {
    $('#basicModal input.basic, #basicModal a.basic').click(function (e) {
        e.preventDefault();
        $('#basicModalContent').modal({
            onOpen: function (dialog) {
                dialog.overlay.fadeIn('slow', function () {
                    dialog.data.hide();
                    dialog.container.fadeIn('slow', function () {
                        dialog.data.slideDown('slow');
                    });
                });
            },
            onClose: function (dialog) {
                dialog.data.fadeOut('slow', function () {
                    dialog.container.hide('slow', function () {
                        $.modal.close();
                    });
                });

            }
        });

    });

    $("form#submit_wall").submit(function () {
        var message_wall = $('#message_wall').attr('value');
        $('#message_wall').val('');
        $.ajax({
            type: "POST",
            url: "func/insert.php",
            data: "message_wall=" + message_wall,
            dataType: "html",
            complete: function () {
                $('#basicModalContent').html('<div class="succes"><p>Successful</p> Your record was posted  ! </div>');
                setTimeout(function () {
                    $.modal.close()
                },
                1200);
            },
            success: function (response) {
                $("div#wall").html(response);
                //$("div#wall").prepend("<span style='display:none'>"+message_wall+"</span>");
                //$("div#wall span").fadeIn();
            }
        });
        return false;
    });

});

это php код для генерации html

<?php if(isset($_POST[ 'message_wall'])){ 
  /* Remove HTML tag to prevent query injection */ 

  $message=strip_tags($_POST[ 'message_wall']); 
  echo '<div class="container_date">
          <span style="float: left;"> 
            <p class="editme" id="200">Sex</p> 
          </span>
          <span style="float: right;" align="left"> 
            <a href="javascript:void(0)" id="200" class="delete">Delete</a>  
          </span>
          <br class="clearfloat">
        </div>'; 
} ?>

это первый раз для размещения на этом сайте, извините за ошибки и за мой английский

Ответы [ 2 ]

1 голос
/ 26 августа 2009

Очень сложно понять, чего ты хочешь, но для меня это выглядит так:

Вы запускаете $ ('. Editme'). Editable () только один раз , когда происходит событие document.ready. editable () проходит через DOM в это время и делает все элементы с классом «editme» кликабельными.

Когда вы добавляете сообщение и получаете ответ от своего PHP-скрипта через AJAX, ответ содержит тег P с классом «editme». Но так как это происходит после запуска document.ready, вам нужно будет запустить editable () снова на этом новом элементе страницы, чтобы сделать его кликабельным.

0 голосов
/ 27 августа 2009

Большое спасибо, сейчас мне очень сложно понять сценарий, но я впервые пишу здесь, и я не знаю, как спросить, ваш ответ помог мне, я поставил еще один раз, чтобы повторить редактирование ( ) внутри скрипта php, ответ от ajax и работает !!! ... Большое спасибо еще раз!

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