HighDots Forums  

Formular mit eingabefeldern erweitern

Javascript (German) Programmiersprache JavaScript. (de.comp.lang.javascript)


Discuss Formular mit eingabefeldern erweitern in the Javascript (German) forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
Ben Butschko
 
Posts: n/a

Default Formular mit eingabefeldern erweitern - 11-13-2007 , 04:36 AM






Moin,

Ich möchte gerne ein Eingabeformular erzeugen welches bei Bedarf noch um
weitere Eingabefelder erweitert wird und diese dann auch
weiterverabeitet werden können (php z. B.)

Es soll also das Feld "activity_01" geclont werden und einen neuen Namen
bekommen "activity_02".

Und das ganze beliebig - ggf. können erzeugte Felder auch wieder
geschlossen werden.

Für jede Hilfe bin ich dankbar.

Netten Grüße,
Ben

Hier ist mein (einfaches) Formular:

<form name="customer_data" method="post" action="form.php?save=data">

<p>Name
<input name="surname" type="text" id="surname">
</p>

<p>T&auml;tigkeiten
<input name="activity_1" type="text" id="activity_1">
[ weitere T&auml;tigkeiten eingeben]
</p>

<p>
<input type="submit" name="save" value="speichern">
</p>

</form>



Reply With Quote
  #2  
Old   
Martin Honnen
 
Posts: n/a

Default Re: Formular mit eingabefeldern erweitern - 11-13-2007 , 08:16 AM






Ben Butschko wrote:

Quote:
Ich möchte gerne ein Eingabeformular erzeugen welches bei Bedarf noch um
weitere Eingabefelder erweitert wird und diese dann auch
weiterverabeitet werden können (php z. B.)

Es soll also das Feld "activity_01" geclont werden und einen neuen Namen
bekommen "activity_02".

form name="customer_data" method="post" action="form.php?save=data"

p>Name
input name="surname" type="text" id="surname"
/p

p>T&auml;tigkeiten
input name="activity_1" type="text" id="activity_1"
[ weitere T&auml;tigkeiten eingeben]
/p
<script type="text/javascript">
function addInput (inputButton, prefix) {
if (inputButton.parentNode && inputButton.previousSibling && typeof
inputButton.cloneNode != 'undefined') {
var lastInput = inputButton;
do {
lastInput = lastInput.previousSibling;
}
while (lastInput.nodeType != 1);
var newInput = lastInput.cloneNode(false);
var index = new RegExp(prefix + "(\\d+)$").exec(newInput.name)[1];
newInput.name = newInput.id = prefix + (Number(index) + 1);
inputButton.parentNode.insertBefore(newInput, inputButton);
}
}
</script>

<p>Tätigkeiten
<input name="activity_1" type="text" id="activity_1">
<input type="button" value="weitere Tätigkeiten eingeben"
onclick="addInput(this, 'activity_');">
</p>
--

Martin Honnen
http://JavaScript.FAQTs.com/


Reply With Quote
  #3  
Old   
Ben Butschko
 
Posts: n/a

Default Re: Formular mit eingabefeldern erweitern - 11-13-2007 , 10:34 AM




"Martin Honnen" <mahotrash (AT) yahoo (DOT) de> schrieb im Newsbeitrag
news:4739b1e9$0$16664$9b4e6d93 (AT) newsspool3 (DOT) arcor-online.net...
Quote:
script type="text/javascript"
function addInput (inputButton, prefix) {
if (inputButton.parentNode && inputButton.previousSibling && typeof
inputButton.cloneNode != 'undefined') {
var lastInput = inputButton;
do {
lastInput = lastInput.previousSibling;
}
while (lastInput.nodeType != 1);
var newInput = lastInput.cloneNode(false);
var index = new RegExp(prefix + "(\\d+)$").exec(newInput.name)[1];
newInput.name = newInput.id = prefix + (Number(index) + 1);
inputButton.parentNode.insertBefore(newInput, inputButton);
}
}
/script

p>Tätigkeiten
input name="activity_1" type="text" id="activity_1"
input type="button" value="weitere Tätigkeiten eingeben"
onclick="addInput(this, 'activity_');"
/p
Moin,

vielen Dank! Das einzige, was ich noch nicht so schön finde ist das die
jeweiligen Felder nebeneinander erscheinen und nicht untereinander.
Das bekomme ich aber irgendwie hin.

Netten Gruß
Ben




Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.