Archivlink: javarea.de Forum > JavaScript > Links mit Zellen einer Tabelle verknüpfen !
Vollständigen Link anzeigen: javarea.de Forum > JavaScript > Links mit Zellen einer Tabelle verknüpfen !
Pages: [1]
| geschrieben von Gast am 21.04.2009 - 15:35 |
Hallo !
Ich habe folgendes Problem zu lösen und bin auf der Suche nach einer Antwort.
Ich habe eine Tabelle aufgebaut und möchte in der linken Zelle ungefähr 10 Links aufführen. Das Ergebnis dieser Links soll in der rechten Zelle angezeigt werden.
Durch diesen Befehl
<script type="text/javascript" charset="UTF-8" src="http://www.test.de/tinc?key=12345"></script>
funktioniert das ganze auch prima.
Nun möchte ich den Dateinamen in diesem JS aber irgendwie variable haben. Zu mindesten soll der String hinter dem key= variable sein.
Den Links wurde ein JS zugeordnet : javascript:direktslide(01)
Auf der Seite wurde ein JS angelegt :
function direktslide(was){
slide_num = was;
changeslide();
}
function changeslide(was){
wie bekomme ich hier den Link hin ???;
}
Ich danke Euch für eine Antwort !
Ralf |
| geschrieben von Micha am 21.04.2009 - 15:50 |
Hi,
ich habe leider nicht so ganz verstanden, was Du suchst. Kannst Du das etwas näher beschreiben?
Gruß Micha |
| geschrieben von Gast am 21.04.2009 - 18:37 |
Hallo Micha !
mmmhhh !
Nehmen wir eine Tabelle mit 2 Zellen.
In der linken Zelle möchte ich 10 Links anzeigen und verknüpfen.
In der rechten Zelle soll das Ergebnis in Form einer Webseite angezeigt werden.
Wenn ich manuell diesen Befehl angebe, wird die Tabelle mit den Daten der Website optimal angezeigt und alles klappt wunderbar.
<script type=\"text/javascript\" charset=\"UTF-8\" src=\"http://www.test.de/tinc?key=12345\"></script>
Ich möchte das ganze nun aber variable halten.
Wenn ich einen Link in der linken Zelle auswähle, dann soll in der rechten Zelle das Ergebnis angezeigt werden.
Link1 = <script type=\"text/javascript\" charset=\"UTF-8\" src=\"http://www.test.de/tinc?key=12345\"></script>
Link2 = <script type=\"text/javascript\" charset=\"UTF-8\" src=\"http://www.test.de/tinc?key=22222\"></script>
Link3 = <script type=\"text/javascript\" charset=\"UTF-8\" src=\"http://www.test.de/tinc?key=33333\"></script>
Es geht darum, den Befehl <script type=\"text/javascript\" charset=\"UTF-8\" src=\"http://www.test.de/tinc?key=12345\"></script> irgendwie variable zu halten damit in der rechten Zelle nicht immer das gleiche angezeigt wird.
mmmhh ! Besser erklärt ?
Vielleicht geht das ganze ja ganz einfach !
Danke Dir
Ralf |
| geschrieben von Micha am 21.04.2009 - 20:39 |
Hallo,
sieht so aus, als könne das innerHTML für Dich ganz einfach machen. Ohne es probiert zu haben, würde ich es mal so versuchen.
Eine Tabelle:
| HTML-Quelltext | 1:
2:
3:
4:
5:
6:
7:
8:
| <table><tr>
<td>
<span onclick="changeScript(2222);">Link 2222</span>
<span onclick="changeScript(3333);">Link 3333</span>
</td>
<td id="scriptCell"><script type="text/javascript" charset="UTF-8" src="http://www.test.de/tinc?key=12345"></script></td>
</tr></table> |
und ein wenig JavaScript
| HTML-Quelltext | 1:
2:
3:
| function changeScript( id ) {
document.getElementById("scriptCell").innerHTML = "<script type=\"text/javascript\" charset=\"UTF-8\" src=\"http://www.test.de/tinc?key=" + id " + \"><\/script>";
} |
so in der Art....
Micha |
| geschrieben von Gast am 21.04.2009 - 22:02 |
Hallo Micha
Selbstverständlich erst einmal vielen Dank für die schnelle Hilfe !
So wie Du es beschrieben hast, möchte ich das ganz genau haben.
Den Code habe ich eingefügt und beim ersten Aufruf wird auch die Startseite ordnungsgemäß angezeigt.
Beim String document.getElementById musste ich aber noch den Befehl
src=\\\"http://www.test.de/tinc?key=\" + id \" + \\\">< in
src=\\\"http://www.test.de/tinc?key=\" + id + \" \\\">< ändern
Somit läuft alles durch und ich bekomme keine Fehler.
Wenn ich einen Link anklicke, dann wird mir leider eine Leerseite angezeigt.
Auch wenn ich den Link in einem festen String eingebe, dann erscheint eine leere Seite.
Nach dem Drücken der F5-Taste erscheint wieder die Startseite welche unter :
<td id=\"scriptCell\"><script type=\"text/javascript\" charset=\"UTF-8\" src=\"http://www.test.de/tinc?key=12345\"></script></td>
definiert wurde.
Also muss ja schon etwas passiert sein.
Muss man die Zelle evtl. noch refreshen oder gibt es noch einen kleinen Trick !
| HTML-Quelltext | 1:
2:
3:
| function changeScript( id ) {
//document.getElementById(\"scriptCell\").innerHTML = \"<script type=\\\"text/javascript\\\" charset=\\\"UTF-8\\\" src=\\\"http://www.test.de/tinc?key=\" + id + \"\\\"><\\/script>\";
} |
| HTML-Quelltext | 1:
2:
| <td id=\"scriptCell\" width=\"730\" valign=\"top\">
<p align=\"center\"><script type=\"text/javascript\" charset=\"UTF-8\" src=\"http://www.test.de/tinc?key=zPQzk8KO\"></script></td> |
Ach so !
Die Übergabe, also die ID ist alphanumerisch !
Ich danke Dir !
Ralf |
| geschrieben von Micha am 21.04.2009 - 22:35 |
Hi,
stimmt, da war ein Fehler oben drin. Muss so aussehen:
| HTML-Quelltext | 1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
| <script>
function changeScript( id ) {
document.getElementById("scriptCell").innerHTML = "<script type=\"text/javascript\" charset=\"UTF-8\" src=\"http://www.test.de/tinc?key=" + id + "\"><\/script>";
}
</script>
<table border=1><tr>
<td>
<span onclick="changeScript(2222);">Link 2222</span>
<span onclick="changeScript(3333);">Link 3333</span>
</td>
<td id="scriptCell"><script type="text/javascript" charset="UTF-8" src="http://www.test.de/tinc?key=12345"></script></td>
</tr></table> |
etwas eleganter sollte es auch so gehen:
| HTML-Quelltext | 1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
| <script>
function changeScript( id ) {
document.getElementById("scriptCell").getElementsByTagName("script")[0].src = "http://www.test.de/tinc?key=" + id;
}
</script>
<table border=1><tr>
<td>
<span onclick="changeScript(2222);">Link 2222</span>
<span onclick="changeScript(3333);">Link 3333</span>
</td>
<td id="scriptCell"><script type="text/javascript" charset="UTF-8" src="http://www.test.de/tinc?key=12345"></script></td>
</tr></table> |
Wenn das nicht geht, wirst Du wohl mal was online stellen müssen, damit man sich das ansehen kann.
Gruß Micha |
| geschrieben von Gast am 22.04.2009 - 14:39 |
Hallo Micha !
Vielen Dank für Deine Unterstützung !
Ich habe den Code so eingegeben und muss Dir leider mitteilen, dass die neue Seite in der Zelle nicht geöffnet wird.
Ich habe im Script changeScript mir einmal angeschaut was übertragen wird.
Das Ergebnis habe ich mir durch den Befehl "innertext" in einer Zelle anzeigen lassen.
Es wird zu 100 % korrekt angezeigt.
Auch der Datenstring von <script>..... bis </script> wird komplett sauber erzeugt.
Wenn ich eine Zeichenketten, z.B. "XXX" vor dem Script eingeben, dass wird diese auch angezeigt, dass Script wird jedoch nicht aufgelöst.
Der DOM-Befehl "document.getElementById("scriptCell").getElementsByTagName("script")[0].src = "http://www.test.de/tinc?key=" + id;" brachte überhaupt kein Erfolg.
Zusammenfasssung :
Das Script wird ordnungsgemäß aufgerufen, die Übergabeparameter stimmen.
Nach dem Durchlauf wird eine leere Seite in der Zelle angezeigt.
Leider kann ich Dir keine Testdatei zur Verfügung stellen weil ich die URL's nicht veröffentlichen kann.
Trotzdem sage ich erst einmal "Tausend Dank" für die wirklich prima Unterstützung.
Ich werde noch ein wenig "herumspielen".
Wenn ich zu einem Erfolg gekommen bin, dann werde ich es Dir mitteilen !
Ralf |
| geschrieben von Micha am 22.04.2009 - 18:03 |
Hi,
darf die Seite neu laden? Man könnte ja diese ID auch über die URL übertragen und an das Script übergeben.
Micha |
| geschrieben von Gast am 23.04.2009 - 10:53 |
Hallo Micha !
Kein Problem ! Die Seite kann ruhig neu geladen werden.
Meinst Du, dass ich beim laden der Seite Parameter mitliefere und somit das Script dynamisch aufbaue ?
Würde gehen.
Hauptsache ist, dass ich nur eine Seite brauche um die Daten anzuzeigen !
Vielen Dank ! |
| geschrieben von Micha am 23.04.2009 - 11:13 |
Hallo,
ja, so meine ich das. In der Tabelle erstellst Du mal richtige Links, die Du wie folgt aufbaust:
seite.html?12345
also die ID direkt an die Adresse übergibtst.
In der rechten Tabellenzelle setzt Du nun folgendes ein:
| HTML-Quelltext | 1:
2:
3:
4:
5:
6:
| <script type="text/javascript">
var id = window.location.search.substring(1);
id = (id == "")?12345:id;
var str = "<script type=\"text/javascript\" charset=\"UTF-8\" src=\"http://www.test.de/tinc?key=" + id + "\"><\/script>"
document.write( str );
</script> |
Gruß Micha |
| geschrieben von Gast am 23.04.2009 - 11:33 |
Hallo Micha !
Sensation ! Klasch ! Klasch ! Großes Kino !!!
Vielen, vielen Dank !
Du hast mir wahnsinnig geholfen.
Die letzte Lösung funktioniert einwandfrei und das Ergebnis kann sich nun sehen lassen !
Noch einmal tausend Dank für die wirklich schnelle und perfekte Hilfe !
Danke Dir
Ralf ! |
|