1Danke
ERLEDIGT
NEIN
NEIN
ANTWORTEN
4
4
ZUGRIFFE
563
563
EMPFEHLEN
-
04.09.10 20:27 #1
- Registriert seit
- Apr 2009
- Beiträge
- 51
Hallo,
Ich habe eine "checkbox".
Wenn die "selectet" wird also angeklickt sodass der hacken drinne ist, soll nur ein Input-feld angezeigt werden.
soll ist der hacken allerdings ( standartmäßig ) nicht gesetzt, so soll eine textarea ausgegeben werden.
Wie ist das möglich bzw ist das überhaupt möglich?
PS: die beiden felder sollen im prinzip getauscht werden. also da wo die area ist, soll dann das inputfeld sein. bzw umgekehrt.
MFG
Robin
-
04.09.10 20:45 #2
Das ist durch Event-Handler möglich.
Du müsstest den Event-Handler onclick nutzen:
Je nach Status der Checkbox (document.getElementById("myCheckbox").checked), machst du dein Inputfeld bzw. deine Textarea sichtbar.HTML-Code:<input type="checkbox" onclick="CheckboxClicked()" id="myCheckbox">
Dazu würde ich aber eine globale Variable verwenden:
Außerdem würde ich diese globale Variable beim Laden der Seite nochmal abfragen, da einige Browser den Status automatisch setzen.HTML-Code:var StateOfCheckbox = false; function CheckboxClicked() { StateOfCheckbox = !StateOfCheckbox; if (StateOfCheckbox) { document.getElementById("textarea").style.visibility = 'visible'; document.getElementById("input").style.visibility = 'hidden'; } else { document.getElementById("textarea").style.visibility = 'hidden'; document.getElementById("input").style.visibility = 'visible'; } }
Dann musst du aber auch die Ansicht (Textarea, Inputfeld) aktualisieren.
Deshalb würde ich einen Klick simulieren, da unser Clickeventhandler aber die Variable immer umkehrt (!StateOfCheckbox), muss man die am Anfang auch umkehren.
Ich hoffe, ich habe es einigermaßen gut beschrieben. Falls du Fragen hast, kannst du sie natürlich nochmal hier stellen.HTML-Code:window.onload = function() { StateOfCheckbox = !document.getElementById("myCheckbox").checked; CheckboxClicked(); }Geändert von ComFreek (05.09.10 um 14:01 Uhr)
mfg ComFreek
Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
[PHP] Überprüfen, ob Website erreichbar • Sicherheit in PHP-Codes schaffen • Google Chrome-Extension für tutorials.de • json_compress()
-
04.09.10 21:16 #3
- Registriert seit
- Apr 2009
- Beiträge
- 51
Hallo,
vielen dank.
Ich habe nun folgendes problem.
Wenn ich nun einen Hacken in die checkbox mache, wird das inputfeld angezeigt, allerdings wird die Textarea nicht ausgebelndet.
Mein aktueller code:
Liegt es evl daran, dass ich TinyMCE Editor benutze?HTML-Code:<script language="javascript"> window.onload = function() { StateOfCheckbox = !document.getElementById("myCheckbox").checked; CheckboxClicked(); } var StateOfCheckbox = false; function CheckboxClicked() { StateOfCheckbox = !StateOfCheckbox; if (StateOfCheckbox) { document.getElementById("textarea").style.visibility = 'hidden'; document.getElementById("input").style.visibility = 'visible'; } else { document.getElementById("textarea").style.visibility = 'visible'; document.getElementById("input").style.visibility = 'hidden'; } } </script> <form action="" method="POST" enctype="multipart/form-data"> <table width="700"> <tr> <td width="82">Headline</td> <td width="606"><input type="text" name="textfield" id="textfield"></td> </tr> <tr> <td>Include</td> <td><input type="checkbox" onclick="CheckboxClicked()" id="myCheckbox"> Ja</td> </tr> <tr> <td>String:</td> <td><textarea name="textarea" id="textarea" cols="45" rows="5"></textarea><input type="text" name="input" id="input"></td> </tr> <tr> <td> </td> <td> </td> </tr> <tr> <td> </td> <td> </td> </tr> <tr> <td><input type="hidden" name="hiddenField" id="hiddenField"></td> <td><input type="submit" name="button" id="button" value="Senden"></td> </tr> </table> </form>
Kann ich mir allerdings nicht vorstellen.
Danke schonmal.
Gruß!
Robin
-
04.09.10 22:31 #4
- Registriert seit
- Apr 2009
- Beiträge
- 51
Hallo,
Nun geht es. Es lag am TinyMCE.
Habe den einfach in ein Div-Tag gepackt.
Gruß
Robin
-
05.09.10 11:18 #5
Du solltest aber das Skript in den Head packen, denn sonst funktioniert das window.onload nicht (glaube ich)

Anstatt des language-Attributs würde ich das type-Attribut nutzen.
Außerdem würde ich die Variable zuerst deklarieren, macht zwar im Code nichts aus, ist aber übersichtlicher
So sieht es "aufgeräumt" aus:
PS: Eventuell würde ich den Checkboxen und den Funktionen sinvollere Namen zuweisen. Also anstatt "myCheckbox" vielleicht "CheckboxIncludeOrString".HTML-Code:<head> ... <script type="text/javascript"> var StateOfCheckbox = false; window.onload = function() { StateOfCheckbox = !document.getElementById("myCheckbox").checked; CheckboxClicked(); } function CheckboxClicked() { StateOfCheckbox = !StateOfCheckbox; if (StateOfCheckbox) { document.getElementById("textarea").style.visibility = 'hidden'; document.getElementById("input").style.visibility = 'visible'; } else { document.getElementById("textarea").style.visibility = 'visible'; document.getElementById("input").style.visibility = 'hidden'; } } </script> ... </head>
mfg ComFreek
Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
[PHP] Überprüfen, ob Website erreichbar • Sicherheit in PHP-Codes schaffen • Google Chrome-Extension für tutorials.de • json_compress()
Ähnliche Themen
-
Die Fläche einer Auswahl anzeigen lassen
Von xxadioo im Forum PhotoshopAntworten: 6Letzter Beitrag: 01.10.08, 16:57 -
Input Feld ändert sich nach Auswahl
Von Talinsei im Forum Javascript & AjaxAntworten: 7Letzter Beitrag: 16.08.08, 19:59 -
HTML in Inputbox/Textarea anzeigen lassen
Von sono im Forum HTML & XHTMLAntworten: 8Letzter Beitrag: 02.01.06, 13:29 -
LONGTEXT in <textarea> anzeigen lassen
Von Zero2000 im Forum PHPAntworten: 10Letzter Beitrag: 07.08.05, 07:40 -
select oder input je nach auswahl deaktivieren
Von TodesengelAzrael im Forum Javascript & AjaxAntworten: 2Letzter Beitrag: 22.12.03, 12:42





Zitieren

Login




