Formulare dynamisch erweitern
Thomas Michel
- javascript
0 Jürgen0 Tilman Porschuetz0 Thomas Michel0 Jürgen
0 Müscha
0 Kerstin0 Thomas Michel0 Kerstin
Hallo zusammen
Ich suche einen beispiel javascript der folgendes kann an einer stelle (mit einer id gekennzeichnet) beliebigen html code einfügen. Ich benötige das ganze für mein CMS system für die realisierung der 1:n beziehung.
mfG
Thomas
Hallo,
setz den einzufügenden HTML-Code in ein div mit der entsprechenden id und style="display:none".
Um den Code dann zu aktivieren (anzuzeigen):
document.getElementById('id').style.display='block';
Schwupps ist der Text (oder das Formularfeld) da.
Ansonsten kann JavaScript nicht nachträglich Code in die Seite einfügen.
Hoffe, das hilft weiter,
Jürgen
REhi
setz den einzufügenden HTML-Code in ein div mit der entsprechenden id und style="display:none".
Um den Code dann zu aktivieren (anzuzeigen):
document.getElementById('id').style.display='block';
dabei hilf bestimmt was wie
for(anzahl der felder)
$id++;
document.write('<input name="feld'.$id.'">');
tut mir leid ich kann keine javascript syntax. aber ich denke das ist zu realisieren. Nun, muessen nur noch ein paar JS leute das konzept uebersetzen.
Soweit tilman
erm, mit ner serverseitigen loesungs isses kompatibler und ein wenig schneller und einfacher fuer mich. =]
Teillösung gefunden: jedoch kriege ich das ganze nicht hin wenn schon etwas im <div id="form"> steht oder ich noch was hinzufügen möchte. Kenn jemand da ev. eine lösung
mfG
Thomas
<html><head><title>Test</title>
</style>
<script type="text/javascript">
<!--
function make_form()
{
document.getElementById('form').innerHTML = "<input type="text" value="test" name="susi[]"> sfdg sd";
}
//-->
</script>
</head><body>
<form action="info.php" method="post">
<div id="form">
</div>
<input type="button" value="+" onClick="make_form()">
<input type="submit">
</form>
</body></html>
Hallo,
setz den einzufügenden HTML-Code in ein div mit der entsprechenden id und style="display:none".
Um den Code dann zu aktivieren (anzuzeigen):
document.getElementById('id').style.display='block';
Schwupps ist der Text (oder das Formularfeld) da.
Ansonsten kann JavaScript nicht nachträglich Code in die Seite einfügen.
Hallo könntest du mir ev. ein konkretes beispiel posten?
Ich bin nicht sicher ob du das ganze richtig verstanden hast.¨
mit + sollen neue formular felder hinzugefügt werden können also nicht nur 1 sondern ev 20 oder so.
mfG
Thomas
Hoffe, das hilft weiter,
Jürgen
Hallo,
Hallo könntest du mir ev. ein konkretes beispiel posten?
Ich versuchs
Ich bin nicht sicher ob du das ganze richtig verstanden hast.¨
mit + sollen neue formular felder hinzugefügt werden können also nicht nur 1 sondern ev 20 oder so.
<div id="feld1" style="display:hidden">
HTML-Code
</div>
<div id="feld2" style="display:hidden">
mehr HTML-Code
</div>
...
<a href="javascript:document.getElementById('feld1').style.display='block'">+</a>
(öffnet feld1)
<script language="javascript" type="text/javascript">
<!--
function oeffnefelder(x) {
for(var i = 1; i <= x; i++) {
document.getElementById('feld'+i).style.display='block'
}
}
//-->
</script>
<a href="javascript:oeffnefelder(20)">+</a>
(öffnet 20 Felder)
Das sollte funktionieren auf IE ab 5.0 und Mozilla/Netscape 6, wahrscheinlich nicht auf Opera und bestimmt nicht auf Netscape 4.
Wenn Du willst, das für die erscheinenden Elemente auch vorher schon der Platz bereitgehalten wird, dann nimm statt display visibility (hidden bzw. visible).
Ach ja, auch wenn die Formularelemente nicht angezeigt werden sind sie natürlich da und deren (wahrscheinlich leere) Inhalte werden mit übermittelt. Um Formularelemente wirklich dynamisch zu erzeugen und nicht nur ein- oder auszublenden brauchts leider serverseitige Techniken (z.B. php)
Viele Grüße,
Jürgen
Ansonsten kann JavaScript nicht nachträglich Code in die Seite einfügen.
dem muß ich wiedersprechen:
mit document.createElement() und .insertBefore() bekommste das ganze rein ... ich habe mir eine mal eine Funktion geschrieben an der ich eine URL übergebe und aufgrund dieser ein Formular (unsichtbar) aufbaue und die werte setze und dann mit post abschicke ...
interessant ist für dich der Bereich bei Schleife:
// formular erzeugen
var formular = '<form name=posturl_postformular method......>'
var posturl_postformular = document.createElement(formular);
document.body.insertBefore(posturl_postformular);
// --- schleife ---
var item = '<Input name=input1 .....'
var posturl_postformularitem = document.createElement(item)
posturl_postformularitem.value = defaultwert;
document.posturl_postformular.insertBefore(posturl_postformularitem);
// --- schleife ---
Hallo Thomas
Ich suche einen beispiel javascript der folgendes kann an einer stelle (mit einer id gekennzeichnet) beliebigen html code einfügen. Ich benötige das ganze für mein CMS system für die realisierung der 1:n beziehung.
Muss es Javascript sein, oder kommt auch PHP in Frage?
Gruss Kerstin
Hallo Thomas
Ich suche einen beispiel javascript der folgendes kann an einer stelle (mit einer id gekennzeichnet) beliebigen html code einfügen. Ich benötige das ganze für mein CMS system für die realisierung der 1:n beziehung.
Muss es Javascript sein, oder kommt auch PHP in Frage?
Hallo Kerstin
Eher nicht da das ganze schnell sein soll. und es würde ziemlich komplex werden wenn mehrere formulare 1:n sind ;) wenn ich das ganze per javascript mache kann ich das das ganze einfach per array ansprechen.
mfG
Thomas
Gruss Kerstin
Hallo Thomas
Ich suche einen beispiel javascript der folgendes kann an einer stelle (mit einer id gekennzeichnet) beliebigen html code einfügen. Ich benötige das ganze für mein CMS system für die realisierung der 1:n beziehung.
Muss es Javascript sein, oder kommt auch PHP in Frage?
Eher nicht da das ganze schnell sein soll. und es würde ziemlich komplex werden wenn mehrere formulare 1:n sind ;) wenn ich das ganze per javascript mache kann ich das das ganze einfach per array ansprechen.
Hallo Thomas,
Sorry, mit CMS kenn ich mich net aus und was Du genau machen willst, hab ich auch noch nicht so richtig verstanden. Ich dachte nur an die Dateifunktionen von PHP.
viele Grüsse
Kerstn