GildebrandMedlem sedan juni 2009918 inlägg
Hejsan!
Jag har lite problem med en liten funktion jag har gjort. Jag föreslår att ni först går in på sidan för att se vad det handlar om. Adressen är http://81.216.141.82/php, och ni kan logga in med "admin","admin". Klicka sedan på ändra meny, och arrangera om lite i menyn. Spara sen.
Funkade det att spara? Eller gjorde det inte det?
Det är detta som jag har problem med. Ibland funkar det att spara den ändrade menyn, ibland gör det inte det.
Javascript-biten:
function savemenu()
{
var order = $('#menu').sortable('serialize');
$.get('savemenu.php?'+order);
window.location='setsession.php?toset=editmenu&to=0';
}
savemenu.php
<?php
include("mysql.php");
foreach ($_GET['listItem'] as $position => $item)
{
$position = mysql_real_escape_string($position);
$item = mysql_real_escape_string($item);
mysql_query("Update `Menu` Set `Order`=$position where `ID`=$item");
}
mysql_close($con);
?>
MickeA.comMedlem sedan feb. 20034 528 inlägg
Hur ser arrayen ut om du skriver ut den på serversidan med print_r($_GET['listItem']);?
/r Eller ännu hellre, print_r($_GET);
GildebrandMedlem sedan juni 2009918 inlägg
Jag har kollat på det tidigare, och det verkar vara rätt hela tiden, men ska kolla en gång till för säkerhets skull.
GildebrandMedlem sedan juni 2009918 inlägg
Jag har ändrat i koden nu, så du kan prova så ser du vad som händer (på serversidan)
EDIT: det verkar funka som det ska nu när jag tog bort redirecten samt ändrade från $.get till $("#inner").load.
Men .load och .get ska väl inte skilja så mycket i funktion egentligen, kan det vara så att redirecten "avbryter" $.get från att skicka iväg allt, så att det skiter sig där?
GildebrandMedlem sedan juni 2009918 inlägg
Det löste sig nu, var nog bara problem med att den redirectade innan den hade skickat all data.
Men jag har ett litet annat problem, och det är att callback verkar köras innan funktionen körts klart.
var popupstatus = 0;
function showPopup()
{
if (popupstatus==0)
{
var popupHeight = $('#popup').height();
var windowHeight = document.documentElement.clientHeight;
var popupWidth = $('#popup').width();
var windowWidth = document.documentElement.clientWidth;
$('#popup').css({'top': windowHeight/2-popupHeight/2, 'left' : windowWidth/2-popupWidth/2});
$('#overlay').css({'opacity' : '0.7'});
$('#popup').fadeIn('fast');
$('#overlay').fadeIn('fast');
popupstatus=1;
}
}
function loadPopup(toload)
{
$("#popup").load(toload,showPopup());
}
Om jag kör funktionen loadPopup('http://www.google.se') så ska den ju först ladda in html-koden till #popup, och när det är klart, först centrera popupen och sen visa popupen. Problemet är bara att den blir aldrig centrerad första gången man laddar den. Och det verkar som att den försöker centrera den innan den har fått bredden på den. Om du går in på sidan jag länkade till, loggar in och klickar på "Användare", så får du se vad jag menar.