mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Sa 27.04.2024 02:33 Benutzername: Passwort: Auto-Login

Thema: [Javascript] Inputfelder hinzufügen / entfernen vom 07.09.2007


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> [Javascript] Inputfelder hinzufügen / entfernen
Seite: Zurück  1, 2, 3, 4
Autor Nachricht
m
Moderator

Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst So 09.09.2007 13:22
Titel

Antworten mit Zitat Zum Seitenanfang

Also war das jetzt doch noch nicht der komplette Quelltext? Ich hab da ja nicht
einfach so nach gefragt. Es gibt natürlich immer verschiedene Lösungswege.
Wenn es bei dem Quelltext bleibt wie du ihn jetzt gepostet hattest wäre meine
Lösung eine einfache und schnelle. Ich habe dort die count Variable eingefügt
um das richtige Element anzusprechen, denn wenn du das erste Div samt Inhalt
klonst ist das zweite Element welches du erweitern möchtest nun ja nicht mehr
das zweite Div Element im Formular sondern das 2te oder 3te usw.
Wenn du die zu klonende Elemente über die Id ansprechen möchtest mußt du
die Id des einzufügenden Elementes dann auch ändern denn sonst hättest du
mehrere Elemente mit einer Id.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Zeussi
Threadersteller

Dabei seit: 13.07.2007
Ort: München - Freising
Alter: -
Geschlecht: Männlich
Verfasst So 09.09.2007 13:45
Titel

Antworten mit Zitat Zum Seitenanfang

Das mit dem 3ten DIV war nur zum Verständnis, da ich es nicht auf Anhieb verstanden habe.

Also wenn ich bei Javascript den Tag DIV anspreche, spreche ich die sich darin befindenden Elemente an?
Und die Elemente sind in diesem Fall die Inputs, verstehe ich das richtig?

An sich ist es nicht der ganze Quellcode, aber der Rest beeinflusst das Ganze nicht wirklich.

Was ich jetzt noch machen werde, was relevant ist, ist folgendes:

Es soll für ein Profil gehören, wo man jeweils 5 Sachen speichern kann, zu Sachen, was sie lieben oder hassen.
Deswegen je 2 DIVs mit 5 Inputfelder.

Außerhalb des DIVs erscheinen dann die schon vorhandenen Inputfelder.
Dann berechne ich, wieviele Felder ich schon ausgegeben habe, und je nach dem, wieviele Felder es schon sind, können die User nur noch beliebig viele Inputs hinzufügen.

Beispiel:

in der Datenbank steht:
Ich Liebe:
1. Autos
2. Frauen
3. Computer

Ich Hasse:
1. Regen

er holt sichs, gibt VOR dem ersten DIV die 3 Inputs aus "ich liebe".
In dem DIV ist dann ein leeres Feld, welches geklont wird sowie ein zweites kann noch hinzugefügt werden, mehr aber nicht, somit besteht die Grenze bei 5 Feldern. Gleiches Spiel bei "ich hasse".

Deswegen das Ansprechen der DIVs sowie maximal 5 Inputs Lächel

Aber da dürfte es keine Probleme mehr geben, hoffe ich zumindest Lächel

lG,
Stephan
  View user's profile Private Nachricht senden
Anzeige
Anzeige
m
Moderator

Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst So 09.09.2007 14:11
Titel

Antworten mit Zitat Zum Seitenanfang

Ok es ging nur um das Verständnis. Um das nochmal zu verdeutlichen:

Code:
obj.parentNode.getElementsByTagName('div')[0].cloneNode(true);


Klont das erste Div Element innerhalb des Formulars samt Inhalt.

obj = der Link auf den du klickst und die Funktion aufruft
obj.parentNode = das Formular
obj.parentNode.getElementsByTagName('div')[0] = das erste Div Element innerhalb des Formulars



Code:
obj.parentNode.getElementsByTagName('div')[1]


Das zweit Div Tag innerhalb des Formulares.



Wenn nun clone_1() ein Div Element klont und einfügt, befindet sich also
ein weiteres Element im Formular.

Jetzt wird durch

Code:
obj.parentNode.getElementsByTagName('div')[1]


dieses eben eingefügte Element angesprochen. Wenn du nun clone_2()
aufrufst würde also das falsche Element angesprochen, allerdings nur
wenn zuvor durch clone_1() ein Element erzeugt wurde.

Die Funktion clone_2() müßte nun also das dritte Div Element innerhalb
des Formulars klonen:

Code:
obj.parentNode.getElementsByTagName('div')[2]


und das ist der Fall wenn du count_1 nutzt um das Div Element zu identifizieren
da count_1 == 2

Code:
obj.parentNode.getElementsByTagName('div')[count_1]


usw..


Die Nacht war lange, ich hoffe es ist trotzdem einigermaßen verständlich.


Übrigens mußt du die input name attribute nicht ersetzen, du kannst dir wie
in meinem ersten Beispiel auch ein Array erzeugen <input name="meinArray[]" />
und anschließend das Array auf PHP Seite verarbeiten.


Zuletzt bearbeitet von m am So 09.09.2007 14:15, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
MTH

Dabei seit: 14.02.2008
Ort: -
Alter: -
Geschlecht: -
Verfasst Do 14.02.2008 17:04
Titel

Antworten mit Zitat Zum Seitenanfang

Hallo

Ich habe ein ähnliches Problem und wollte es mit Hilfe dieses JavaScriptes lösen. Leider funktioniert es bei mir nicht korrekt, das heisst, es passiert nichts. Das Problem liegt wohl daran, das ich es falsch anspreche.

Mein Quellcode:


Zuletzt bearbeitet von MTH am Fr 15.02.2008 10:26, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
 
Ähnliche Themen [Javascript] Multiple form upload / input felder hinzufügen
Splines bei 3Ds Max hinzufügen
Zum Home-Bildschirm hinzufügen
[TYPO3] RTE - Schriftgröße 9 pt hinzufügen?
Soundkanal im director hinzufügen?
Gif-Headerdaten hinzufügen per Console
Neues Thema eröffnen   Neue Antwort erstellen Seite: Zurück  1, 2, 3, 4
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.