tojaMedlem sedan mars 2001218 inlägg Tjena...
Nu har jag fastnat igen...
Har en funktion:
function VisaMeny(str){
obj=document.getElementById(str);
if(obj.style.display=='inline'){
obj.style.display='none';
} else {
obj.style.display='inline';
}
}
Denna använder jag för att dölja visa meddelanden ur en databas... Detta görs på detta sätt (här i en <tr>):
<span onclick="VisaMeny('m0');" onMouseOver="this.style.cursor='hand';" onMouseOut="this.style.cursor='default';">
<tr style="display:none;" id="m0">
Mitt problem är... att om jag har fyra meddelanden tex.. och öppnar två... sen går jag till en annan sida fast med samma meddelanden... då stängs alla... jag vill på något sätt att den ska sätta en variabel som sedan skickas till nästa sida.. så kan man skria ut om den ska vara synlig.. med tex php som jag använder...
Testade så här.. men misslyckades, vet inte hur jag ska lösa det!
function VisaMeny(str){
obj=document.getElementById(str);
if(obj.style.display=='inline'){
obj.style.display='none';
var ret = "none";
return ret;
} else {
obj.style.display='inline';
var ret = "inline";
return ret;
}
}
För att sedan i själva länken fånga upp värdet:
<span onclick="var m0=VisaMeny('m0');" onMouseOver="this.style.cursor='hand';" onMouseOut="this.style.cursor='default';">
Vet inte om detta är rätt, det fungerar inte som jag vill i alla fall... hade sedan tänkt att man skapar länkar typ på detta sätt med en funktion:
function makeLink(varLink){
var linkTo = varLink+"m0="+m0+"m1="+m1;
location.href=linkTo;
}
Denna ska alltså anropas typ så här:
<a href="#" onClick="makeLink('test.php?'); return false;">
Hoppas alla kloka förstår en relativ nybörjare på JS... någon smart lösning på detta... eller någon som ser felet..?!!
mvh
Tommie Jakobsson
Peter SMedlem sedan dec. 20025 483 inlägg Halloj!
Lek litet med detta:
<script>
var m0 = "none";
function makeLink(varLink){
var linkTo = varLink+"m0="+m0;
location.href=linkTo;
}
function visaMeny(o) {
o = document.getElementById(o);
if (o.style.display == 'block') return (o.style.display = "none");
else return (o.style.display = "block");
}
</script>
<a href="#" onclick="m0 = visaMeny('div'); return false">Visa/Dölj</a>
<div style="background-color:#eee; border:1px solid #777; display:none" id="div">Litet text...</div>
<a href="#" onclick="makeLink('test.php?'); return false">Länk</a>
:)
tojaMedlem sedan mars 2001218 inlägg tack du... det fungerar utmärkt nu...
tror det var detta det hängde på:
return (o.style.display = "none");
tojaMedlem sedan mars 2001218 inlägg Nähe... kom på att det inte fungerade riktigt som jag ville...!!!
Variabeln hänger ju med till nästa sida som den ska...
men sen om jag ska vidare igen.. utan att trycka på någon visaMeny() knapp... Då blir båda variablerna nollställda.. eller alltså skrivs som "none"...
Antar att det har att göra med att man sätter den här:
var m0 = "none";
Provade med att bara skriva:
var m0;
men det verkade inte fungera!!!
Finns kanske något liknande som i php?!!:
if (!isset());
någon... är ju i alla fall ett steg närmare vad jag vill..!! :D
Peter SMedlem sedan dec. 20025 483 inlägg Du kanske kan använda cookies? Eller så kan du skriva in värdet i m0 från frågesträngen i JavaScript-variabeln på sidan du navigerar till.
Antag t.ex. att frågesträngen ser ut så här: test.php?m0=inline. På test.php kan du då spara värdet i variabeln m0 med, typ:
<script type="text/javascript">
...
var m0 = <? PHP-kod ?>;
...
</script>
:)
tojaMedlem sedan mars 2001218 inlägg Det fungerar inte.. kör jag php kod däe kommer detta fel:
"Ett objekt förväntas"...
tojaMedlem sedan mars 2001218 inlägg Förlåt... var jag som dummade mig... eftersom jag kör med vissa includes i php och sedan detta script i en JS-fil... så kunde jag ju självklart inte köra php i js-filen... fick lägga in det utanför js-filen.. verkar fungera nu i alla fall.. får se om jag återkommer om det blir andra problem med det!! ;) tack för hjälpen!