timpanse
Grünschnabel
Huhu,
nun schon seid mehreren Tagen hänge ich fest an dieser Funktion. Ich bin mit Javascript nicht sehr vertraut, deswegen bitte ich um eure Hilfe.
Ich möchte in eine Tabelle per Klick eine neue Zeile hinzufügen, die Formularfelder enthalten soll. Das ganze klappt soweit auch, nur gibt es noch 3 Dinge, die ich nicht hinbekomme.
1. Die Zeile soll genau zwischen <tbody> und </tbody> eingefügt werden.
2. Die Formularfelder sollen nummeriert werden mittels variable "i". Also jedes neue Feld soll heißen z.B. einheit0, einheit1, einheit2, usw. damit man die auch später mit php ansprechen kann.
3. Wie kann man zuletzt eingefügte Zeile per klick wieder entfernen? Also ein Button mit "1 Zeile hinzufügen" aber auch einen mit "1 Zeile entfernen".
Im Prinzip kann das alles nur ne Kleinigkeit sein. Hat jemand ne kurze Beschreibung für mich, wie ich das umsetzen kann?
Vielen Dank im vorraus
nun schon seid mehreren Tagen hänge ich fest an dieser Funktion. Ich bin mit Javascript nicht sehr vertraut, deswegen bitte ich um eure Hilfe.
Ich möchte in eine Tabelle per Klick eine neue Zeile hinzufügen, die Formularfelder enthalten soll. Das ganze klappt soweit auch, nur gibt es noch 3 Dinge, die ich nicht hinbekomme.
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>Test</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<script type="text/javascript">
//<![CDATA[
function tester(x)
{
var tabelle = document.getElementById('dok')
.getElementsByTagName('tbody')[0];
for (var i = 0; i < x; i++)
{
var menge = document.createElement('input');
menge.setAttribute("type", "text");
menge.setAttribute("name", "menge"+[i]);
menge.setAttribute("value", "menge"+[i]);
menge.setAttribute("size", "5");
menge.setAttribute("class", "textfeld");
var einheit = document.createElement('input');
einheit.setAttribute("type", "text");
einheit.setAttribute("name", "einheit"+[i]);
einheit.setAttribute("value", "einheit"+[i]);
einheit.setAttribute("size", "5");
einheit.setAttribute("class", "textfeld");
var ep = document.createElement('input');
ep.setAttribute("type", "text");
ep.setAttribute("name", "ep"+[i]);
ep.setAttribute("value", "ep"+[i]);
ep.setAttribute("size", "10");
ep.setAttribute("class", "textfeld");
var kurztext = document.createElement('textarea');
kurztext.setAttribute("name", "kurztext"+[i]);
kurztext.setAttribute("class", "textfeld");
var tr = tabelle.insertRow(0);
var td = tr.insertCell(0);
td.appendChild(document.createTextNode('leer'));
var td = tr.insertCell(0);
td.appendChild(document.createTextNode('leer'));
var td = tr.insertCell(0);
td.appendChild(ep);
var td = tr.insertCell(0);
td.appendChild(kurztext);
var td = tr.insertCell(0);
td.appendChild(menge);
td.appendChild(einheit);
var td = tr.insertCell(0);
td.appendChild(document.createTextNode('leer'));
}
}
//]]>
</script>
</head>
<body>
<form id="dok" action="auswertung.php">
<img src="add.jpg" onClick="javascript:tester(1);"></img>
<table border="1">
<tr><td>leer</td><td>Menge/Einheit</td><td>Kurztext</td><td>EP</td><td>leer</td><td>leer</td></tr>
<tbody>
</tbody>
<tr><td>leer</td><td>leer</td><td>leer</td><td>leer</td><td>leer</td><td>leer</td></tr>
</table>
<input type=submit value=abschicken>
</form>
</body>
</html>
1. Die Zeile soll genau zwischen <tbody> und </tbody> eingefügt werden.
2. Die Formularfelder sollen nummeriert werden mittels variable "i". Also jedes neue Feld soll heißen z.B. einheit0, einheit1, einheit2, usw. damit man die auch später mit php ansprechen kann.
3. Wie kann man zuletzt eingefügte Zeile per klick wieder entfernen? Also ein Button mit "1 Zeile hinzufügen" aber auch einen mit "1 Zeile entfernen".
Im Prinzip kann das alles nur ne Kleinigkeit sein. Hat jemand ne kurze Beschreibung für mich, wie ich das umsetzen kann?
Vielen Dank im vorraus