Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

После первого действия скрипт перестает работать

54K
05 июня 2010 года
cyberx
15 / / 06.05.2010
Возникла одна проблема. Вот скрипт который делает сортировку у перетаскивание с добавлением в базу, проблема в том что после первого действия скрипт перестаёт работать, после первого запроса уже не отсылается и не работает сортировка, вроде firebug ничего не показал
Код:
var dropped = false;
var templateHtml;
$(document).ready(function(){

function addlist(param)
 {
   $.ajax({
           url: 'index.php',
           data: 'drop='+encodeURIComponent(param),
           type: 'POST',
           dataType: 'php',
           success: function(msg)
            {      
             if(parseInt(msg)!=0)
              {
               $('#pageContent').html(msg);    
              }
            }
      });
 }
 
setSortable();
   $("#droppable").droppable({
       accept:".drop",
       drop:function(event,ui){
           dropped = true;
           addlist(ui.draggable.text());
       }
   });
 
});

function setSortable(){

       $("#sortable").sortable({ opacity: 0.6, cursor: 'move', update: function() {
           var order = $(this).sortable("serialize") + '&action=listing';
           $.post("index.php", order, function(theResponse){
               $("#pageContent").html(theResponse);
           });                                                            
       }                                
       });

 
   $("#sortable li").addClass("drop").bind('mousedown',function(){
       templateHtml = $("#sortable").html();
   });
}


[HTML]
<div id="pageContent">

<ul id="sortable">
<li id="one">One</li>
<li id="two">Two</li>
<li id="three">Three</li>
<li id="four">Four</li>
<li id="five">Five</li>
<li id="six">Six</li>
</ul>

<div id="droppable">

</div>

</div>
[/HTML]
339
07 июня 2010 года
verybadbug
619 / / 12.09.2005
1. dataType может быть (xml, json, script, or html)
2. добавьте обработчик ошибок ajax в параметры запуска

cyberx
...после первого действия...

какого именно?
если речь идет о последовательности нескольких функций после действия пользователя - попробуйте программно запустить каждую функцию по-отдельности, чтобы установить, где возникает ошибка
54K
07 июня 2010 года
cyberx
15 / / 06.05.2010
Да нет и php работает. Первое действие работает, после перетаскивания или сортировки отсылается пост и принимается нормально, но после первого запроса перестаёт работать. Там у меня так
Цитата:

<div id="pageContent">


<ul id="sortable">
<li id="one">One</li>
<li id="two">Two</li>
<li id="three">Three</li>
<li id="four">Four</li>
<li id="five">Five</li>
<li id="six">Six</li>
</ul>


<div id="droppable">

</div>


<?php

if(isset($_POST['action']))
{
echo 'action';
}
if(isset($_POST['drop']))
{
echo 'drop';
}
?>
</div>



Пост отсылается на #pageContent, если послать на #droppable то работает без проблем, просто дизайн сбывается, я не силён в js и не могу понять в чом проблема

339
08 июня 2010 года
verybadbug
619 / / 12.09.2005
если вставляешь в #pageContent - заменяется всё, что написано выше

какой ответ присылает скрипт?
54K
08 июня 2010 года
cyberx
15 / / 06.05.2010
Первый раз возвращает то что надо, если переброшу то возвращает $_POST['drop'], если отсортирую то $_POST['action'], но после первого действия все перестает работать, работает после рефреша. Нет в #pageContent графика не сбывается, сбивается если в droppable. Я попробовал после
Цитата:

$('#pageContent').html(msg);


В функции addlist(param) добавить setSortable(); и после перебрасывания ешо один раз сработала сортировка

339
08 июня 2010 года
verybadbug
619 / / 12.09.2005
Цитата: cyberx
Первый раз возвращает то что надо, если переброшу то возвращает $_POST['drop'], если отсортирую то $_POST['action']...



я имел в виду ajax что возвращает?

Код:
...
   $.ajax({
           url: 'index.php',
           data: 'drop='+encodeURIComponent(param),
           type: 'POST',
           dataType: 'php',
           success: function(msg)
            {      
              [color=blue]alert('success!');[/color]
             if(parseInt(msg)!=0)
              {
               $('#pageContent').html(msg);    
              }
            },
[color=blue]            error:function (xhr, ajaxOptions, thrownError){
              alert(xhr.status);
              alert(thrownError);
            }[/color]
      });
...
339
08 июня 2010 года
verybadbug
619 / / 12.09.2005
доходит ли вообще дело до функции?
 
Код:
...
function addlist(param)
 {
[color=blue]alert('addlist');[/color]
...
54K
08 июня 2010 года
cyberx
15 / / 06.05.2010
Да так работает, проблемы когда использую запрос
54K
08 июня 2010 года
cyberx
15 / / 06.05.2010
Вот я зарегистрировался на бесплатном хостинге и тут видно что происходит

http://drop.netau.net/index.php

А вот вторая версия, тут я направляю на #droppable и работает, но сбивается дизайн

http://drop.netau.net/index2.php
339
09 июня 2010 года
verybadbug
619 / / 12.09.2005
брррр... а че, отдельный обработчик для ajax нельзя сделать?

cyberx
А вот вторая версия, тут я направляю на #droppable и работает, но сбивается дизайн
Ни разу не работает. Тот контент, что остался - он как работал - так и продолжает, а в #droppable список не фунциклирует ))))



Делаем отдельный обработчик для ajax, который выполняет необходимые действия и присылает в ответе результаты выполнения!
54K
09 июня 2010 года
cyberx
15 / / 06.05.2010
Если вас не затруднит может покажите на примере как это сделать? Я не силён в яве и эта вещь тормозит мне все. Мне надо чтоб запрос шел на #pageContent, это возможно?
54K
11 июня 2010 года
cyberx
15 / / 06.05.2010
Не можете решить эту проблему? :(
339
14 июня 2010 года
verybadbug
619 / / 12.09.2005
Цитата: cyberx
Не можете решить эту проблему? :(



без исходников - нет

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог