mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Do 18.04.2024 06:52 Benutzername: Passwort: Auto-Login

Thema: Formulareingaben nachladen vom 22.10.2007


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> Formulareingaben nachladen
Autor Nachricht
reacon
Threadersteller

Dabei seit: 27.08.2004
Ort: -
Alter: 38
Geschlecht: Männlich
Verfasst Mo 22.10.2007 23:38
Titel

Formulareingaben nachladen

Antworten mit Zitat Zum Seitenanfang

Hallo zusammen,

ich versuche mich gerade an einem speziellen Formular.

Genauer gesagt geht es um ein Anmeldeformular.

Dort soll der User als erstes die Personenanzahl auswählen (Momentan 2 Radiobuttons // Es geht natürlich auch ein Dropdown).
Da drunter stehen die Daten zur Person (Name, Vorname, Anschrift etc.), die eingegeben werden sollen. Sobald der User aber "2 Personen" angewählt hat soll die Seite per Refresh weitere Eingabefelder laden. Diese sind dann die gleichen wie bei einer Person (Name, Vorname, Anschrift...)

Da ich die richtige Bezeichnung nicht finde komme ich mit google gerade nicht weiter. Wäre nett, wenn mir jemand Tipps geben kann.

p.s. Ich bin Neuling in solchen Sachen!


Zuletzt bearbeitet von reacon am Mo 22.10.2007 23:38, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
m
Moderator

Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Di 23.10.2007 00:00
Titel

Antworten mit Zitat Zum Seitenanfang

Javascript, cloneNode(), je nach Anzahl der Personen einfach ein Element (z.B. div, tr, irgendwas)
x (Anzahl der Personen) mal klonen. War jetzt einfach mal so mein erster Gedankengang, auf jeden
Fall Javascript DOM Manipulation.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
Kash

Dabei seit: 07.11.2002
Ort: Schopfheim
Alter: 41
Geschlecht: Männlich
Verfasst Di 23.10.2007 09:53
Titel

Antworten mit Zitat Zum Seitenanfang

ich würds mit ASP lösen... haste sicher nicht so lange HTTP-REQUEST Anfragen

in deinem DropDown mußte als value wert die anzahl der personen über das formular versenden.
das formular muß natürlich die selbe seite laden.

wenn du den wert erneut an die seite gesendet hast ließt du den request wert des formulars aus und übergibst es an eine schleife. dowhile oder for bieten sich hier an.
schleifendurchlauf solange wie es personen gibt.

bei keinem request wert würde ich es nur einmal ausgeben.
mußt es also vorher prüfen (if/else).

so sollte es klappen


Zuletzt bearbeitet von Kash am Di 23.10.2007 10:00, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
pixelpapst303

Dabei seit: 06.07.2006
Ort: hamburg
Alter: 50
Geschlecht: Männlich
Verfasst Di 23.10.2007 16:37
Titel

Antworten mit Zitat Zum Seitenanfang

oder per ajax und ohne refresh.

ajax ruft n php-snippet auf, was mit anzahl x (personenzahl) die formfelder zurückliefert.

edit:
frage an m: kann ein geklonter node gerade im bereich formular von der form-action seite eigentlich sauber verabreitet werden? habs noch nie probiert....


Zuletzt bearbeitet von pixelpapst303 am Di 23.10.2007 16:41, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Simonhard

Dabei seit: 25.01.2006
Ort: -
Alter: -
Geschlecht: -
Verfasst Di 23.10.2007 17:45
Titel

Antworten mit Zitat Zum Seitenanfang

ASP?

Javascript ist Dein Freund. Den Ajax umweg brauchst Du auch nicht zu gehen.

Setz dir einfach x-div layer mit den Inputboxen hin (x=maximum Anzahl an Personen im Dropdown) und verstecke Sie per CSS (display:none). Den statische, ersten Layer gibst du die id "0". Oder beispielsweise
Code:
<div id="personaldata_0">...</div>


Dann schreibst Du Dir ne kleine JS-Funktion, die bei onchange des Select feldes schießt.

Beispielsweise sowas:

Code:

function show_layer(howmuch) {
for(i=1;i<=howmuch;i++) {
document.getElementById("personaldata_" + i).style.display='block';
}
}


Erweitert werden kann die Funktion natürlich noch dahingehend, dass der den Rest der Boxen schließt, wenn man wieder weniger Personen wählt.

Gruß


Zuletzt bearbeitet von Simonhard am Di 23.10.2007 17:46, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
reacon
Threadersteller

Dabei seit: 27.08.2004
Ort: -
Alter: 38
Geschlecht: Männlich
Verfasst Di 23.10.2007 18:24
Titel

Antworten mit Zitat Zum Seitenanfang

Danke, das hilft mir schonmal weiter Lächel Werde heute Abend mal was basteln damit.
  View user's profile Private Nachricht senden
pixelpapst303

Dabei seit: 06.07.2006
Ort: hamburg
Alter: 50
Geschlecht: Männlich
Verfasst Mi 24.10.2007 11:52
Titel

Antworten mit Zitat Zum Seitenanfang

Simonhard hat geschrieben:
ASP?

Javascript ist Dein Freund. Den Ajax umweg brauchst Du auch nicht zu gehen.

Setz dir einfach x-div layer mit den Inputboxen hin (x=maximum Anzahl an Personen im Dropdown) und verstecke Sie per CSS (display:none). Den statische, ersten Layer gibst du die id "0". Oder beispielsweise
Code:
<div id="personaldata_0">...</div>


Dann schreibst Du Dir ne kleine JS-Funktion, die bei onchange des Select feldes schießt.

Beispielsweise sowas:

Code:

function show_layer(howmuch) {
for(i=1;i<=howmuch;i++) {
document.getElementById("personaldata_" + i).style.display='block';
}
}


Erweitert werden kann die Funktion natürlich noch dahingehend, dass der den Rest der Boxen schließt, wenn man wieder weniger Personen wählt.

Gruß



wenns dabei bleibt, dass es eine maxzahl gibt....
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ähnliche Themen [Javascript] Formulareingaben auf aktualisierter Seite
Acrobat 7.0 > Formulareingaben können nicht gespeichert ...
Hauptseite bei Iframe mit PHP nachladen
[Flash] Bilder nachladen
Bilder via Ajax nachladen
bilder nachladen (bin absoluter anfänger)
Neues Thema eröffnen   Neue Antwort erstellen
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.