JQuery AJAX przesylanie zmiennych

0
 
    $(document).ready(function ()
    {
        var to;
        //var from;
        $("div.chessPiece").draggable({
            // revert: 'invalid',
            //helper: 'clone',
            cursor: 'move',
            start: function (event, ui)
            {
                $from = $(this).attr('id');
                //alert($from);
            }
        });
        $("div.square").droppable({
            accept: '.white',
            drop: function (event, ui)
            {
                to = "#" + $(this).attr('id');
                //alert(to);
                SendMove();
            }
        });
    })


    function SendMove()
    {
        $.post(
            "/Game/AddMove",
            {
                To: to
            });
    }

        public JsonResult AddMove(int to)
        {
            string str = "bla"; //Convert.ToString(from) + Convert.ToString(to);
            return Json(str, JsonRequestBehavior.AllowGet);
        }
 

Więc mam taki kod. Jeśli próbuje wysyłać var, to skrypt się zwyczajnie zawiesza i nic się nie dzieje, natomiast jeśli pobieram wartości, bezpośrednio z jakiegoś elementu to wygląda na to ze działa ok (testowałem tylko z input hidden).

Pytanie czy jest jakiś sposób na przesłanie tych informacji ? Informacje muszą być pobierane przy pomocy Drag&Drop.

Metoda w C# nie robi nic konkretnego, po prostu sprawdzam czy watosc zostala przeslana (w debuggerze).

0

Zainstaluj sobie firebug'a i zobacz jakimi błędami sypie. Co widać na pierwszy rzut oka, to w SendMove 'to' ma wartość 'undefined' (ustawiasz jakąś zmienną 'to' w zdarzeniu drop, ale ona jest lokalna)

0

Ok. zrobienie czegos takiego rozwiazalo problem. Ale za to mam inny

$("div.square").droppable({
            accept: '.white',
            drop: function (event, ui)
            {
                to = "#" + $(this).attr('id');
                //alert(to);
                $.post(
            "/Game/AddMove",
            {
                To: to,
                From: from
            });
            }
        }); 
 
$("div.chessPiece").draggable({
            // revert: 'invalid',
            //helper: 'clone',
            cursor: 'move',
            start: function (event, ui)
            {
                $(".square").hover(function ()
                {
                    from = $(this).attr('id')
                });

                //alert($from);
            }
        });

Ten kod robi dokładnie to czego od niego oczekuje, czyli pobiera wartość z pola na którym aktualnie stała figura (np. 5, 12 itd). Problem w tym, ze nie działa to przy pierwszym ruchu. Dopiero od drugiego.

1 użytkowników online, w tym zalogowanych: 0, gości: 1