 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, Deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
01.09.2004, 20:52
|
#1
|
|
TP-Specialist
Registriert seit: Apr 2002
Ort: 743, evergreen terrace
|
[js] textarea verbergen bzw. einblenden
hi leute,
wie kann ich ein textfeld, was beim aufruf der seite nicht angezeigt wird, per mausklick einblenden und ... wenn moeglich auch auf die gleiche weise wieder verschwinden lassen.
gruss
hardy
|
|
|
01.09.2004, 21:12
|
#2
|
|
TP-Special Mod
Registriert seit: Jun 2001
Ort: 8°21' O 49°1' N
|
document.getElementById(IDdesTextFeldes).style.visibility = "hidden";
bzw
document.getElementById(IDdesTextFeldes).style.visibility = "visible";
|
|
|
01.09.2004, 21:59
|
#3
|
|
TP-Specialist
Registriert seit: Apr 2002
Ort: 743, evergreen terrace
|
hi webmichl,
danke erstmal! aber wie sage ich dem script, dass es das textfeld am anfang ausblenden soll?
jetzt hab ich ja wech. aber es kommt zur zeit nicht wieder
gruss
hardy
|
|
|
01.09.2004, 22:05
|
#4
|
|
TP-Special Mod
Registriert seit: Jun 2001
Ort: 8°21' O 49°1' N
|
Na ja, den Anfangsstatus definierst Du über ein Stylesheet: visibility: hidden;.
Und wenn Du das Ganze über einen Link steuern willst, würde ich eine Zustandsvariable definieren und diese in einer Function hin- und herswitchen:
Code:
<script language="JavaScript">
Zustand = "hidden";
function Umschalter() {
if ( Zustand == "hidden" ) Zustand = "visible";
else Zustand = "hidden";
document.getElementById(IDdesTextFeldes).style.visibility = Zustand;
}
</script>
Sollte so funktionieren...
EDIT
frag mich jetzt nicht, wo die Lücke im "visibility" her kommt - ich krieg sie jedenfalls nich wech.. 
|
|
|
01.09.2004, 22:34
|
#5
|
|
TP-Specialist
Registriert seit: Apr 2002
Ort: 743, evergreen terrace
|
sorry, wenn ich so bloed frage: und wie bringe ich dem link bei, dass er den zustand aendern soll?
ps: ick sprecken js nickt besonders gutt 
|
|
|
01.09.2004, 22:38
|
#6
|
|
TP-Special Mod
Registriert seit: Jun 2001
Ort: 8°21' O 49°1' N
|
mit <a href="javascript:Umschalter()">Klick</a>
|
|
|
01.09.2004, 22:58
|
#7
|
|
TP-Specialist
Registriert seit: Apr 2002
Ort: 743, evergreen terrace
|
PHP-Code:
$this->inhalt.= "<table width=\"100%\">";
$this->inhalt.= "<thead>".$title."</thead>";
for($c=0; $c<count($banner_array); $c+=$u) {
$this->inhalt.= "<tr>";
for($h=0; $h<$u; $h++) {
$this->inhalt.= "<script language=\"JavaScript\">
Zustand = \"hidden\";
function Umschalter".($c+$h)."() {
if ( Zustand == \"hidden\" ) Zustand = \"visible\";
else Zustand = \"hidden\";
document.getElementById('".($c+$h)."').style.visibility = Zustand;
}
</script>";
$this->inhalt.= "<td>";
$this->inhalt.= "<img src=\"".$path.$banner_array[$c+$h]."\"><br>";
$this->inhalt.= "<textarea id=\"".($c+$h)."\" rows=\"10\" cols=\"25\"><a href=\"".$CMS_SYSTEM['http_path']."\"><img src=\"".$CMS_SYSTEM['http_path'].$CMS_SYSTEM['banners'].$area_id."/".$banner_array[$c+$h]."\"></a></textarea><br>";
$this->inhalt.= "<a href=\"javascript:Umschalter".($c+$h)."()\">Quellcode anzeigen</a>";
$this->inhalt.= "</td>";
}
$this->inhalt.= "</tr>";
}
$this->inhalt.= "</table>";
so sieht das monster jetzt aus.
alle textfelder sind zu beginn eingeblendet. und wenn ich sie ausblenden will muss ich zweimal auf den link klicken (gilt auch beim wechsel zu einem anderen link).
ich krieg aber nicht mehr gepeilt, woran das jetzt noch liegt.
... ich bin langsam muede, hab keine lust mehr, will feierabend und ein bier! 
|
|
|
01.09.2004, 23:27
|
#8
|
|
TP-Special Mod
Registriert seit: Jun 2001
Ort: 8°21' O 49°1' N
|
1. würde ich der textarea eine eigene CSS-class mit visibility: hidden; zuweisen - dann ist zu Beginn schon mal keine zu sehen.
2. Sind die IDs rein numerisch - was ( meine ich ) ned sein darf und
3. dürfte das Problem a) in der Menge functions liegen ( die ID könnte man übergeben ) und b) wesentlich schwerwiegender: zZ haben wir nur eine Zustandsvariable für mehrere Textfelder - da muss dann ein Array ran. Langst Dir, wenn wir morgen weitermachen? Ich bin nämlich auch hundemüde und hab schon ne halbe Flasche Rotwein intus - kriegs also auch ned mehr so ganz gebacken -
|
|
|
01.09.2004, 23:31
|
#9
|
|
TP-Specialist
Registriert seit: Apr 2002
Ort: 743, evergreen terrace
|
du gluecklicher, gluecklicher schurke!
klar, doch gerne. du hast ne halbe flasche vorsprung. schon mit der gewissheit allein kann ich nicht mehr weitermachen. ich hab auch echt keinen bock mehr.
ich wuensch dir eine angenehme nachtruhe und sanfte traeume!
bis morgen
hardy
|
|
|
02.09.2004, 00:02
|
#10
|
|
TP-Moderator
Registriert seit: Feb 2001
Ort: Helmstedt/Wolfsburg
|
Theo?! Wo hast du dich denn rumgetrieben?  ...warst im Urlaub?
Die Zustandsvariabel kann man sich sparen, da die visibility-eigenschaft (oder halt display) doch direkt im Element zu finden ist. Ich würds irgendwie so machen:
Code:
function Umschalter(id) {
var e = document.getElementById(id);
e.style.display = (e.style.display == 'none') ? 'inline' : 'none';
}
// Aufruf dann so:
<a href="javascript:Umschalter('idhalt');">sichtbar machen...</a>
Ich hab die display-eigenschaft gewählt - gefällt mir besser  Ist ungetestet... sollte aber funzen.
Gruss
Jan
|
|
|
02.09.2004, 00:22
|
#11
|
|
TP-Specialist
Registriert seit: Apr 2002
Ort: 743, evergreen terrace
|
JAN!!!
was fuer eine freude. ich verlasse das buero und schleiche zum einem feierabendpils und dann das hier.
urlaub?! viel zu gefaehrlich! scheint was ansteckendes zu sein. hatten in der letzten zeit viele.
ich hab das script getestet, aber es macht nicht, was es soll. es sieht eher so aus, als ob er den platz fuer das "ausgeblendete" textfeld freihaelt (abstand in der tabelle), der dann nach dem anklicken kollabiert. kann es an dem "inline" liegen? so wie "display: inline"?!
gruss
hardy aka theo
|
|
|
02.09.2004, 00:26
|
#12
|
|
TP-Moderator
Registriert seit: Feb 2001
Ort: Helmstedt/Wolfsburg
|
Jup... ich dachte das ist am schickesten... du musst natürlich den textareas von beginn ein ein style="display:none;" geben... Falls du über visibility gehen willst, muss du im Script nur "display" gegen "visibility", "inline" gegen "visible" und "none" gegen "hidden" austauschen...
Gruss
Jan
|
|
|
02.09.2004, 00:50
|
#14
|
|
TP-Moderator
Registriert seit: Feb 2001
Ort: Helmstedt/Wolfsburg
|
Theo, Theo...
Als erstes: Du brauchst die Funktion nur einmal!
Zweitens: Setzt die Textareas doch ganz einfach auf display:none... wie bereits geschrieben
Gruss
Jan
|
|
|
02.09.2004, 00:57
|
#15
|
|
TP-Specialist
Registriert seit: Apr 2002
Ort: 743, evergreen terrace
|
gut, ok! die function hab jetzt einfach schnell an die stelle der alten gesetzt. daher mehrfach (jetzt geaendert).
doch die css war schon angepasst. display: none;
das ergebnis is the same, sorry
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
| |