Permalänk
Medlem

Precis efter "jQuery(document).ready(function() {" lägg till "alert('test');"

Ex;

jQuery(document).ready(function() { alert('test');

Visas det då?

Visa signatur

- Åldern har tagit ut sig i form av bekvämlighet -
------- Playstation 4/5 - Nintendo Switch -------

Permalänk
Medlem
Skrivet av Shadowsoul:

Såg ovan att någon postat saker som kanske fungerar...det ska inte vara några problem att exekvera jQuery flera gånger, men anyhow så är mitt tips att
ändå att skapa en självexekverande funktion som gör allt den ska.

Skrev ihop en kort kodsnutt som borde fungera på: http://jsfiddle.net/Y355s/ du får modifera den och lägga dina egna funktioner på rätt ställe.

Edit: For clarity, skulle tro problemet kommer från ordningen som browsar laddar hem, tolkar och exekverar javascript i. Har aldrig haft problem med självexekverande funktioner då de alltid kommer att exekveras efter scripten är klara.

Ne de är lite udda måste jag säga att den kör / inte kör som den ska.

Permalänk
Medlem
Skrivet av Electrix:

Precis efter "jQuery(document).ready(function() {" lägg till "alert('test');"

Ex;

jQuery(document).ready(function() { alert('test');

Visas det då?

Ja, de kommer upp en popupruta precis som det ska

Permalänk
Medlem

La in alert('CHANGE STATUS'); i funktionen nu , och funktionen körs (iaf till den raden).
Får upp popupen när jag klickar på bilden.

jQuery(document).ready(function() { jQuery('a.button').click(function() { alert('CHANGE STATUS'); jQuery.get('editSessionAvb.php', function(data) { if(data === '1') { alert('Session ändrad till 1'); } else { alert('Fel förekom vid ändring av session.'); } }); });

Permalänk
Medlem

Flyttade Alert nu och la den undern "jQuery.get" och då får jag inte upp ngt popupfönster.

jQuery(document).ready(function() { jQuery('a.button').click(function() { jQuery.get('editSessionAvb.php', function(data) { alert('CHANGE STATUS'); // Flyttat alert if(data === '1') { alert('Session ändrad till 1'); } else { alert('Fel förekom vid ändring av session.'); } }); });

Permalänk
Medlem
Skrivet av neterul:

La in alert('CHANGE STATUS'); i funktionen nu , och funktionen körs (iaf till den raden).
Får upp popupen när jag klickar på bilden.

jQuery(document).ready(function() { jQuery('a.button').click(function() { alert('CHANGE STATUS'); jQuery.get('editSessionAvb.php', function(data) { if(data === '1') { alert('Session ändrad till 1'); } else { alert('Fel förekom vid ändring av session.'); } }); });

Lägg till en "return false;" så inte sidan skickas vidare;

alert('CHANGE STATUS'); jQuery.get('editSessionAvb.php', function(data) { if(data === '1') { alert('Session ändrad till 1'); } else { alert('Fel förekom vid ändring av session.'); } }); return false;

Får du något fe i konsolen då när den försöker anropa "editSessionAvb.php" ?

Edit: Vad för status får hämtningen snarare.

Visa signatur

- Åldern har tagit ut sig i form av bekvämlighet -
------- Playstation 4/5 - Nintendo Switch -------

Permalänk
Medlem
Skrivet av Electrix:

Lägg till en "return false;" så inte sidan skickas vidare;

alert('CHANGE STATUS'); jQuery.get('editSessionAvb.php', function(data) { if(data === '1') { alert('Session ändrad till 1'); } else { alert('Fel förekom vid ändring av session.'); } }); return false;

Får du något fel i konsolen då när den försöker anropa "editSessionAvb.php" ?

Nu fick jag "Fel förekom vid ändring av session" efter ja la till return false.

även i konsollen:
GET https:///editSessionAvb.php 200 OK 21ms
jquery.min.js (line 2)

Permalänk
Medlem
Skrivet av neterul:

Nu fick jag "Fel förekom vid ändring av session" efter ja la till return false.

Byt ut "alert('Fel förekom vid ändring av session.');" till "alert(data);".

Vad står det då?

Visa signatur

- Åldern har tagit ut sig i form av bekvämlighet -
------- Playstation 4/5 - Nintendo Switch -------

Permalänk
Medlem
Skrivet av Electrix:

Byt ut "alert('Fel förekom vid ändring av session.');" till "alert(data);".

Vad står det då?

Kommer en tom popup ruta.

med en checkbox där man kan kryssa i om man vill ha varningen igen eller ej.

Permalänk
Medlem
Skrivet av neterul:

Kommer en tom popup ruta.

med en checkbox där man kan kryssa i om man vill ha varningen igen eller ej.

Samtliga alert's som jag skrev i förra tråden var mer så att du kan se vad som kommer upp vid vilka händelser. Dessa alerts behövs inte överhuvudtaget.
Anledningen till att det stod fel var för du inte körde "echo $_SESSION['avb'] = "1";" i editSessionAvb.php

Men grundproblematiken med jQuery borde vara löst.

Ta bort "return false;" och samtliga alert-boxar i functionsSessions.js och be din kompis CTRL-F5 några gånger och testa igen nu..

Visa signatur

- Åldern har tagit ut sig i form av bekvämlighet -
------- Playstation 4/5 - Nintendo Switch -------

Permalänk
Medlem

Det betyder att datan som editSessionAvb.php returnerar är tom.

I konsollen kan du se vad den gav för respons om du klickar på det lilla pluset - 200 betyder ju att sidan hittades, men den skriver ju inte ut nåt på skärmen, så att säga.

Permalänk
Medlem

Om du vill vara säker på att sidan du hämtar inte cachas, kan du antingen använda funktionen $.ajax istället för $.get - Eller helt enkelt göra ett litet random tal i funktionen så här:

var rnd = "?rnd=" + Math.floor(Math.random() * 99999999); jQuery.get('editSessionAvb.php' + rnd, function(data) {

Permalänk
Medlem
Skrivet av Electrix:

Samtliga alert's som jag skrev i förra tråden var mer så att du kan se vad som kommer upp vid vilka händelser. Dessa alerts behövs inte överhuvudtaget.
Anledningen till att det stod fel var för du inte körde "echo $_SESSION['avb'] = "1";" i editSessionAvb.php

Men grundproblematiken med jQuery borde vara löst.

Ta bort "return false;" och samtliga alert-boxar i functionsSessions.js och be din kompis CTRL-F5 några gånger och testa igen nu..

har lagt in "print" nu på alla .php filerna som är med. och tagit bort alla alerts i .js filen. men nu re-load'ar inte sidan sig själv efter
man tryckt på länken... :S , MEN sessionen ändras, om man trycker på F5 själv imellan så bra bit på vägen nu!

<?php session_start(); print $_SESSION['avb'] = '1'; ?>

Permalänk
Medlem
Skrivet av neterul:

har lagt in "print" nu på alla .php filerna som är med. och tagit bort alla alerts i .js filen. men nu re-load'ar inte sidan sig själv efter
man tryckt på länken... :S , MEN sessionen ändras, om man trycker på F5 själv imellan så bra bit på vägen nu!

Glömde ta bort return false; ?

Visa signatur

- Åldern har tagit ut sig i form av bekvämlighet -
------- Playstation 4/5 - Nintendo Switch -------

Permalänk
Medlem
Skrivet av Electrix:

Glömde ta bort return false; ?

Har både tagit bort de , och kört med. När return false; är KVAR så fungerar de, och sessionen byter.
när jag tar bort den, så laddar sidan om MEN sessionen byter in värde :S

Edit:

Med return false;
Tryck på knappen -> klicka på F5 -> sessionen har bytt värde

Utan return false;
Tryck på knappen -> sidan "reloadar" -> sessionen behålller värdet.

Fungerar enbart i Firefox såhär, i IE och chrome reloadar sidan oavsett return false eller ej, utan att byta värde på sessionen.

Permalänk
Medlem
Skrivet av neterul:

Har både tagit bort de , och kört med. När return false; är KVAR så fungerar de, och sessionen byter.
när jag tar bort den, så laddar sidan om MEN sessionen byter in värde :S

Men vad i...

Testa följande;

jQuery('a.button').click(function() { var href = jQuery(this).attr('href'); //Lägg till jQuery.get('editSessionAvb.php', function(data) { if(data === '1') { window.location.replace(href); //Lägg till } else { alert('Fel förekom vid ändring av session.'); } }); return false; //Lägg till });

Skickas du vidare och sätts sessionen?

Edit: uppdaterad. Knappens länk måste vara fullständig sökväg (ex. "http://www.blabla.com/test.php")

Visa signatur

- Åldern har tagit ut sig i form av bekvämlighet -
------- Playstation 4/5 - Nintendo Switch -------

Permalänk
Medlem

UPPDATERAD

Fungerar galant nu i Firefox, både uppdaterar sidan + ändrar sessionen, men inte i google lr IE :/

Med:

jQuery(document).ready(function() { jQuery('a.button').click(function() { var href = jQuery(this).attr('href'); //Lägg till jQuery.get('editSessionAvb.php', function(data) { if(data === '1') { window.location.replace(href); //Lägg till } else { alert('Fel förekom vid ändring av session.'); } }); return false; //Lägg till }); });

Laddar sidan om, men det händer inget med sessionen tyvär

Permalänk
Medlem
Skrivet av neterul:

Med:

jQuery(document).ready(function() { jQuery('a.button').click(function() { var href = jQuery(this).attr('href'); //Lägg till jQuery.get('editSessionAvb.php', function(data) { if(data === '1') { alert('Session ändrad till 1'); } else { alert('Fel förekom vid ändring av session.'); } }); window.location.replace(href); //Lägg till return false; //Lägg till }); });

Laddar sidan om, men det händer inget med sessionen tyvär

Se uppdatering ovan.

Visa signatur

- Åldern har tagit ut sig i form av bekvämlighet -
------- Playstation 4/5 - Nintendo Switch -------

Permalänk
Medlem
Skrivet av Electrix:

Se uppdatering ovan.

säger samma ha ha

Permalänk
Medlem
Skrivet av neterul:

UPPDATERAD

Fungerar galant nu i Firefox, både uppdaterar sidan + ändrar sessionen, men inte i google lr IE :/

Och inga fel i debuggen förekommer i någon av dem?

Visa signatur

- Åldern har tagit ut sig i form av bekvämlighet -
------- Playstation 4/5 - Nintendo Switch -------

Permalänk
Medlem
Skrivet av Electrix:

Och inga fel i debuggen förekommer i någon av dem?

konsollen är jätte-tom.

Permalänk
Medlem
Skrivet av neterul:

konsollen är jätte-tom.

Vad händer då? Skickas man vidare eller inte? Sätts sessionen eller inte?

Visa signatur

- Åldern har tagit ut sig i form av bekvämlighet -
------- Playstation 4/5 - Nintendo Switch -------

Permalänk
Medlem
Skrivet av Electrix:

Vad händer då? Skickas man vidare eller inte? Sätts sessionen eller inte?

Firefox:
Sessionen ändrar värde och sidan laddar om, Fungerar perfekt.

Chrome, IE & Safari
Sidan laddar om, men sessionen ändrar EJ värde.

Permalänk
Medlem

Om du använder console.log("blabla") istället för alert("bla bla") slipper du få alertfönster i plytet hela tiden och det blir lättare att debugga.

Permalänk
Medlem
Skrivet av Ernesto:

Om du använder console.log("blabla") istället för alert("bla bla") slipper du få alertfönster i plytet hela tiden och det blir lättare att debugga.

så sant så sant :), dock gillar jag få att mitt på skärmen så jag inte missar något.

Permalänk
Medlem

Fungerar också, la till location.reload(); efter. Men problem kvarstår tyvär i IE och chrome.

jQuery('a.buttonn').click(function() { jQuery.get('editSessionAvbBack.php', function(data) { if(data === '1') { console.log(data); } else {; console.log(data); } location.reload(); }); return false; });

Permalänk
Medlem
Skrivet av neterul:

Chrome, IE & Safari
Sidan laddar om, men sessionen ändrar EJ värde.

Undrar om detta kan vara något? "Internet Explorer 8 uses the first session cookie set and not the last as in Firefox."
http://anvilstudios.co.za/blog/php/session-cookies-faulty-in-...

Kan inte påstå att jag är expert på IE då jag spyr galla över det varje gång jag är tvungen att använda det.

Skrivet av Ernesto:

Om du använder console.log("blabla") istället för alert("bla bla") slipper du få alertfönster i plytet hela tiden och det blir lättare att debugga.

Håller med, dock måste man ta bort dem efteråt då IE (ej debug-läge) slänger fram fel att "function not defined: console".

Visa signatur

- Åldern har tagit ut sig i form av bekvämlighet -
------- Playstation 4/5 - Nintendo Switch -------

Permalänk
Medlem

Läs de jag skrev ovan där . Håller med om IE, borde förbjudas tas bort osv. MEN att det inte fungerar io chrome är nytt
för mig. brukar aldrig vara några problem.

Permalänk
Medlem
Skrivet av neterul:

Läs de jag skrev ovan där . Håller med om IE, borde förbjudas tas bort osv. MEN att det inte fungerar io chrome är nytt
för mig. brukar aldrig vara några problem.

Skrivet av neterul:

Fungerar också, la till location.reload(); efter. Men problem kvarstår tyvär i IE och chrome.

jQuery('a.buttonn').click(function() { jQuery.get('editSessionAvbBack.php', function(data) { if(data === '1') { console.log(data); } else {; console.log(data); } location.reload(); }); return false; });

} else {;

Semikolonet skall bort.

Testa att direkt efter "jQuery(document).ready(function() {" lägga till

jQuery.ajaxSetup ({ cache: false });

Håller med om att det är konstigt i Chrome..

Visa signatur

- Åldern har tagit ut sig i form av bekvämlighet -
------- Playstation 4/5 - Nintendo Switch -------

Permalänk
Medlem

semikolonet är borta, och lagt till ajaxSetup. Fungerar tyvär inte i chrome fortfarande .. sitter och googlar runt
för svar, men sällan folk har problem att de inte fungerar i chrome

Hela .js filen

jQuery(document).ready(function() { jQuery.ajaxSetup ({ cache: false }); jQuery('a.button').click(function() { jQuery.get('editSessionAvb.php', function(data) { if(data === '1') { console.log(data); } else { console.log(data); } location.reload(); }); return false; }); jQuery('a.buttonn').click(function() { jQuery.get('editSessionAvbBack.php', function(data) { if(data === '1') { console.log(data); } else { console.log(data); } location.reload(); }); return false; }); jQuery('a.conf').click(function() { jQuery.get('editSessionAvbConf.php', function(data) { if(data === '1') { console.log(data); } else { console.log(data); } location.reload(); }); return false; }); });