eine Variable übergeben
Jan
- javascript
PS. Ich poste nochmal zur besten Sendezeit, da ich mich überlesen fühlte! Soll nicht wieder vorkommen.
Hallo Forum,
ich probiere jetzt schon eine ganze Weile an einer Funktion. Doch eine Lösung will mir nicht gelingen. Ich hoffe, dass mir einer einen Rat geben kann.
Folgendes Szenario:
Die Funktion hinweis bekommt einen Namen und eine Id und erzeugt daraus den Namen für einen neuen Layer. Sie schreibt in diesen Layer einen Link auf die Funktion z_lay. Wenn der Link besucht wird, soll die Funktion z_lay den eben erstellten Layer auf 'hidden' setzen und einen weiteren an anderer Stelle definierten Layer anzeigen, sowie die Grö?enverhältnisse innerhalb einer Tabelle je nach Platzbedarf des neuen Layers ändern. Grundsätzlich funktioniert das ganze. Das Problem habe ich bei den Variablen von z_lay("var1", "var2", "var3").
Es werden an dieser Stelle nie die Variableninhalte, sondern die Variablennamen ausgegeben. Ich habe auch schon andere Schreibweisen für die Anführungszeichen bzw. Hochkomma ausprobiert, jedoch war die richtige Schreibweise leider noch nicht dabei :(
Wer kann mir auf die Sprünge helfen, bzw hat eine elegantere Lösung?
Gruß Jan
function hinweis(name, num)
{
var ln = 'pdf_button' + num;
var ld = name;
var li = num;
document.write('<div id="'+ ln +'" style="visibility:visible">');
document.write('<a href="#" onClick="z_lay('+ ln +','+ ld +','+ li +')">');
document.write('LINK'</a></div>);
}
function z_lay(lay, doc ,idx)
{
var tb = 'tabelle' + idx;
var my_pdf = document.getElementById(ln);
var my_lay = document.getElementById(doc);
my_pdf.style.visibility = 'hidden';
my_lay.style.visibility = 'visible';
document.getElementById(tb).style.height = my_lay.offsetHeight + 15;
}
Ohne groß zu lesen, auf dem ersten Blick:
document.write('<div id="'+ ln +'" style="visibility:visible">');
document.write('<a href="#" onClick="z_lay('+ ln +','+ ld +','+ li +')">');
sollte schon eine deutliche Verbesseung bringen.
MfG
Klaus
Danke für die Antwort, hättest aber doch lesen sollen :).
Eine Mögliche Lösung ist:
....
var string = 'write_ssp(''+ lay_name +'', ''+ lay_doc +'', ''+ lay_id +'');';
document.write('document.write('<a href="#" onClick="'+ string +'">');');
Also, es klappt jetzt glücklicherweise alles. Wem aber doch etwas einfacheres einfällt, dann bitte posten.
Gruß Jan
Ohne groß zu lesen, auf dem ersten Blick:
document.write('<div id="'+ ln +'" style="visibility:visible">');
document.write('<a href="#" onClick="z_lay('+ ln +','+ ld +','+ li +')">');sollte schon eine deutliche Verbesseung bringen.
MfG
Klaus
Nur nochmal zur Ergänzung der komplette Code-Schnipsel, sonst fragt noch einer - was will der ? Ägypten?
Gruß Jan
function hinweis(num, name)
{
lay_name = 'pdf_button' + num;
lay_doc = name + num;
lay_id = num;
var string = 'write_ssp(''+ lay_name +'', ''+ lay_doc +'', ''+ lay_id +'');';
document.write('<div id="'+ lay_name +'" style="visibility:visible;">');
document.write('<script language="JavaScript" type="text/javascript">');
document.write('document.write('<a href="#" onClick="'+ string +'">');');
document.write('document.write('<img src="../../images/pdf.gif" class="img"></a>');');
document.write('</script></div>');
}
function z_lay(lay, doc, idx)
{
var lay_name = lay;
var lay_doc = doc;
var tb = 'tabelle' + idx;
var my_pdf = document.getElementById(lay_name);
var my_lay = document.getElementById(lay_doc);
if(!my_pdf) { alert('kein Layer'+ my_pdf); }
my_pdf.style.visibility = 'hidden';
my_lay.style.visibility = 'visible';
document.getElementById(tb).style.height = my_lay.offsetHeight + 35;
}