Just nu i M3-nätverket
Jump to content

divhantering


jan-erik

Recommended Posts

Anjuna Moon
Ok, men jag kan väl inte bara byta ut ShowContent mot din Showlayer?

Jodå, men låt den behålla namnet ShowContent(). Glöm inte den korta men viktiga raden var selDiv; som alltså inte skall ligga i någon funktion.

 

 

[inlägget ändrat 2008-03-13 14:14:05 av Anjuna Moon]

Link to comment
Share on other sites

fantastiskt va bra det blev till slut. det funkar helt perfekt, och nu ska jag fira med bastu o öl.

Jag tror jag måste ge mig tid att lära mig JS mera på djupet, och inte hålla på att gnugga fram nya lösningar varjte gång.

tack så hemskt mycket Anjuna, dagens lektion var mycket givande.

 

Link to comment
Share on other sites

Anjuna Moon

Bastu och öl, ahhh! :thumbsup::)

(det ska det f.ö bli för mig i helgen också, är bortskämd med bastu och gym i vår BRF =)

 

Link to comment
Share on other sites

Kunde inte låta bli att vandra vidare i koddjungeln, och då fastnade jag förstås efter 3 minuter.

 

<input name="pgvalx" type="button" 
value="<? echo $id; ?>"
onclick=" ShowContent('pgw2'); return true;"
  href="javascript:ShowContent('pgw2')"> 

 

 

Här vill jag ha med mig parametern "$id" till det phpscript som körs i div pgw2.

jag gissar att jag till onclick ska lägga

var pgw2id='<? echo $id; ?>';

 

men hur gör jag lämpligast sen?

 

 

 

Link to comment
Share on other sites

Micke_skane

Menar du att du vill lägga till variabeln som en querystring till php-sidan?

Då måste du ladda om sidan på servern eller lösa det med Ajax.

Serverspråken körs innan javascriptet körs, därför går det inte bara så där att lägga till en variabel till php-scriptet och att servern ska veta det.

 

För att skicka med $id till funktionen:

ShowContent('pgw2','<? echo $id; ?>');

Ta emot den:

function ShowContent(d,phpId)

 

Göteborgstidningen?
Ja, en frysen sådan :)

GT = Gin & Tonic

 

Link to comment
Share on other sites

onclick=" ShowContent('pgw2',); return true;"
  href="javascript:ShowContent('pgw2')"> 

kan du skriva in här exakt hur det ska vara?

 

 

 

Förtydliga:

function ShowContent(d,phpId)

 

 

 

man skulle väl iofs kunna tänka sig att man satte en sessionsvariabel innehållande $id, och hämta upp denna ?

 

 

[inlägget ändrat 2008-03-13 16:07:27 av jan-erik]

[inlägget ändrat 2008-03-13 16:08:29 av jan-erik]

Link to comment
Share on other sites

Micke_skane

onclick=" ShowContent('pgw2',); return true;"
  href="javascript:ShowContent('pgw2')">

 

Mer korrekt i en knapp(button):

onclick=" ShowContent('pgw2','<? echo $id ?>');"

function ShowContent(d,phpId)

Här kommer variabeln phpid innehålla värdet på parameterna(<? echo $id ?>) du skickar med i funktionsanropet ovan.

Vad du sen vill göra med variabeln är upp till var och en :)

 

Link to comment
Share on other sites

"Mera korrekt":

menar du att jag bara ska skriva detta i button-raden?????????

onclick=" ShowContent('pgw2','<? echo $id ?>');"

 

 

 

function ShowContent(d,phpId)

var lägger jag detta?

 

 

Link to comment
Share on other sites

Micke_skane
menar du att jag bara ska skriva detta i button-raden?????????
Japp, lägger du händelsehanteraren i en knapp räcker det med:

onclick=" ShowContent('pgw2','<? echo $id ?>');"

 

Är det i ett a-element du lägger det måste du hindra att den triggar en sidladdning, därför lägger du till:

onclick=" ShowContent('pgw2','<? echo $id ?>');return false;"

 

Sen kan man ju såklart göra mycket i hanteraren men detta är grundsättet.

 

var lägger jag detta?
Detta är din funktion som visar/döljer div:sen.

Det enda som är skillnaden är att du ta emot två parametrar istället för en. Den andra parametern innehåller id:et som du vill använda till en php-sida. Vet inte mer vad du tänkt men där kommer inte hända någotting om du inte anropar servern på något sätt.

Sen vet jag inte direkt om det är just i denna funktionen du ska ha denna "händelse" med att hantera php-id:et.

 

Först körs alla include-filer, sen körs serversidan, sist körs klientsida.

Därför hjälper det inte att du bara skickar in id:et i en javascript-funktion.

Du måste säga till php-sidan på något sätt att hantera id:et som är unikt.

 

*

Sen ska du be moderatorn att flytta tråden till php-forumet.

Då har du större chans att få hjälp med php-koden osv...

 

[inlägget ändrat 2008-03-13 16:40:43 av Micke_skane]

Link to comment
Share on other sites

Php-koden klarar jag säkert.

Så här ser js.funtionen ut nu:

 

var selDiv;
function ShowContent(id) {
 if (selDiv) selDiv.style.display='none';
 selDiv=document.getElementById(id);
 selDiv.style.display='block';
}

 

Hur ska den ändras för att funka mot

onclick=" ShowContent('pgw2','<? echo $id ?>');"

 

ska jag ha en funktion som tar in en variabel, och en som tar in två?

alltså ShovContent1 och ShovContent2?

 

 

Link to comment
Share on other sites

det ag får fram ur ditt inlägg1639 är att denna funktion ska ersätta den jag har nu:

function ShowContent(d,phpId)

 

ska alltså ersätta

 

var selDiv;
function ShowContent(id) {
 if (selDiv) selDiv.style.display='none';
 selDiv=document.getElementById(id);
 selDiv.style.display='block';
}

 

Link to comment
Share on other sites

Micke_skane

Denna:

var selDiv;
function ShowContent(id) {
 if (selDiv) selDiv.style.display='none';
 selDiv=document.getElementById(id);
 selDiv.style.display='block';
}

 

Ska ersättas med:

var selDiv;
function ShowContent(id,phpid) {
 if (selDiv) selDiv.style.display='none';
 selDiv=document.getElementById(id);
 selDiv.style.display='block';
}

Inne i funktionen kan du lägga till denna rad sist, innan sista }:

alert(phpid);

Då ser du om id:et följer med ifrån onclick-händelsen.

Denna rad tar du bort sen, är bara en kontroll just nu.

 

Men vad du sen gör med id:et är upp till dig.

Skrev lite om det i inlägget innan.

 

Link to comment
Share on other sites

jag har gjort så att jag gjort en egen funktion för de fall där jag ska ha både div-parameter och en varable med mej, och en annan funktion där jag bara ska ha div-paramatern.

 

var selDiv;
var phpid;
function ShowContent2(id,phpid) {
alert (phpid);
 if (selDiv) selDiv.style.display='none';
 selDiv=document.getElementById(id);
 selDiv.style.display='block';
}
function ShowContent(id) {
 if (selDiv) selDiv.style.display='none';
 selDiv=document.getElementById(id);
 selDiv.style.display='block';
}

 

Detta funkar faktiskt, jag får ut rätt variabel i alerten i ShowContent2.

Nu är enda problemet hur jag ska få över variablen i php.scritptet.

 

Link to comment
Share on other sites

jag la till följande i ShowContent2:

window.location="http://www.jea.se/a/pg3x.php?val="+phpid;

Detta funkar, men hamnar förstås inte i den div som det är tänkt.

 

Link to comment
Share on other sites

jag experimenterade, det lär man sig av.

Detta nedan var ganska kul tyckte jag, om än oanvändbart:

Jag gjorde "dynamiska divvar", dvs jag gjorde en php-loop och la upp ett antal divvar med id lika med den variabel jag försöker få in.

så här:

$k=0;
while ($k<5) 
{ 
$k1=1319+$k;
?>
<div id="<? echo $k1;?>" class="showmeny"><?  include "http://www.jea.se/a/pg3x.php?val=<? echo $k1;?>"; ?></div>
<? 
$k++;
}

 

in onclicken har jag

onclick="ShowContent('<? echo $id; ?>');"

 

Det funkar, men det blir ju ganska många divar att lägga upp, det måste ju göras i förväg så att säga.

men rätt kul!

 

 

Link to comment
Share on other sites

Kan man sammanfatta så här:

Om man på ett enkelt sätt ska anropa ett script från en form/input och ha med sig en variabel så är det lika bra att använda input/submit/action

medans

Om man ska anropa ett script utan variabel så kan man använda javascript.

 

???

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...