timpanse
Grünschnabel
Ok, ich bin ein Stück weiter.
Auf Klick auf "richtig nummerieren" soll nun function helga aufgerufen werden und richtig nummeriert werden. Trotzdem nummeriert er aber neue Zeile zwischendrinne nicht der Reihenfolge entsprechend richtig sondern so wie eingefügt wurden.
Funktion "helga" durchläuft doch aber bei jedem Klick alle reihen, ermittelt die Reihenanzahl und vergibt dann fortlaufend die Nr.
Verstehe ich nicht!
Muss doch was mit getElementById("test"+i) zu tun haben, oder?
Aber wie soll ich sonst die Felder ansprechen?
Auf Klick auf "richtig nummerieren" soll nun function helga aufgerufen werden und richtig nummeriert werden. Trotzdem nummeriert er aber neue Zeile zwischendrinne nicht der Reihenfolge entsprechend richtig sondern so wie eingefügt wurden.
Funktion "helga" durchläuft doch aber bei jedem Klick alle reihen, ermittelt die Reihenanzahl und vergibt dann fortlaufend die Nr.
Verstehe ich nicht!
Muss doch was mit getElementById("test"+i) zu tun haben, oder?
Aber wie soll ich sonst die Felder ansprechen?
Code:
<html>
<head>
<style type="text/css"><!--
.button_add_del {cursor:pointer;}
--></style>
<script type="text/javascript">
//<![CDATA[
function newRow(objSrc)
{
var objTBody = document.getElementById("dokument").getElementsByTagName("tbody")[0];
if(typeof objSrc=="undefined")
{
var objTR = objTBody.insertRow(objTBody.rows.length);
}
else
{
var objHelpTR = objSrc.parentNode;
while(objHelpTR && (objHelpTR.nodeName.toLowerCase()!="tr"))
{
objHelpTR = objHelpTR.parentNode;
}
if(!objHelpTR) return;
var objTR = document.createElement("tr");
objHelpTR.parentNode.insertBefore(objTR, objHelpTR);
}
var einheit = document.createElement('select');
theOption1=document.createElement("OPTION");
theText1=document.createTextNode("cm");
theOption1.appendChild(theText1);
theOption1.setAttribute("value","cm");
einheit.appendChild(theOption1);
theOption2=document.createElement("OPTION");
theText2=document.createTextNode("g");
theOption2.appendChild(theText2);
theOption2.setAttribute("value","g");
einheit.appendChild(theOption2);
einheit.setAttribute("name", "einheit"+objTBody.rows.length);
einheit.setAttribute("id", "einheit"+objTBody.rows.length);
einheit.setAttribute("class", "textfeld");
var pos = document.createElement('input');
pos.setAttribute("type", "text");
pos.setAttribute("name", "pos"+objTBody.rows.length);
pos.setAttribute("id", "pos"+objTBody.rows.length);
pos.setAttribute("size", "3");
pos.setAttribute("class", "textfeld");
var menge = document.createElement('input');
menge.setAttribute("type", "text");
menge.setAttribute("name", "menge"+objTBody.rows.length);
menge.setAttribute("id", "menge"+objTBody.rows.length);
menge.setAttribute("size", "2");
menge.setAttribute("class", "textfeld");
var ep = document.createElement('input');
ep.setAttribute("type", "text");
ep.setAttribute("name", "ep"+objTBody.rows.length);
ep.setAttribute("id", "ep"+objTBody.rows.length);
ep.setAttribute("size", "6");
ep.setAttribute("class", "textfeld");
var kurztext = document.createElement('textarea');
kurztext.setAttribute("name", "kurztext"+objTBody.rows.length);
kurztext.setAttribute("id", "kurztext"+objTBody.rows.length);
kurztext.setAttribute("cols", "60");
kurztext.setAttribute("rows", "2");
kurztext.setAttribute("class", "textfeld");
var addrow_button = document.createElement('img');
addrow_button.setAttribute("src", "image/add_above.png");
addrow_button.setAttribute("title", "Neue Position darüber einfügen");
addrow_button.setAttribute("onclick", "javascript:newRow(this);");
addrow_button.setAttribute("height", "35");
addrow_button.setAttribute("width", "35");
addrow_button.setAttribute("border", "0");
addrow_button.setAttribute("class", "button_add_del");
var delrow_button = document.createElement('img');
delrow_button.setAttribute("src", "image/del_above.png");
delrow_button.setAttribute("title", "Diese Position entfernen");
delrow_button.setAttribute("onclick", "javascript:removeRow(this);");
delrow_button.setAttribute("height", "35");
delrow_button.setAttribute("width", "35");
delrow_button.setAttribute("border", "0");
delrow_button.setAttribute("class", "button_add_del");
var test_button = document.createElement('input');
test_button.setAttribute("id", "test"+objTBody.rows.length);
var id_button = document.createElement('input');
id_button.setAttribute("name", "anzahl");
id_button.setAttribute("value", +objTBody.rows.length);
var objTD = objTR.insertCell(objTR.cells.length);
objTD.appendChild(id_button);
objTD = objTR.insertCell(objTR.cells.length);
objTD.appendChild(addrow_button);
objTD = objTR.insertCell(objTR.cells.length);
objTD.appendChild(delrow_button);
objTD = objTR.insertCell(objTR.cells.length);
objTD.appendChild(pos);
objTD.appendChild(menge);
objTD.appendChild(einheit);
objTD = objTR.insertCell(objTR.cells.length);
objTD.appendChild(kurztext);
objTD = objTR.insertCell(objTR.cells.length);
objTD.appendChild(ep);
objTD = objTR.insertCell(objTR.cells.length);
objTD.appendChild(test_button);
//helga();
}
function removeRow(objSrc)
{
var objTBody = document.getElementById("dokument").getElementsByTagName("tbody")[0];
if(typeof objSrc=="undefined")
{
if(objTBody.rows.length > 0)
objTBody.deleteRow(objTBody.rows.length-1);
}
else
{
var objTR = objSrc.parentNode;
while(objTR && (objTR.nodeName.toLowerCase()!="tr"))
{
objTR = objTR.parentNode;
}
if(!objTR) return;
objTR.parentNode.removeChild(objTR);
}
}
function helga()
{
var objTBody = document.getElementById("dokument").getElementsByTagName("tbody")[0];
for(var i=1; i<=objTBody.rows.length; i++)
{
document.getElementById("test"+i).value = "Nr.: "+i;
}
}
//]]>
</script>
</head>
<body>
<a href=# onclick="javascript:helga();">richtig Nummerieren</a><br><br>
<img src="image/add.png" title="Neue Position hinzufügen" onClick="javascript:newRow();" height="35" width="35" border="0" class="button_add_del">
<img src="image/del.png" title="Letzte Position entfernen" onClick="javascript:removeRow();" height="35" width="35" border="0" class="button_add_del">
<form action="auswertung.php">
<table id="dokument" border="1">
<tbody></tbody>
</table>
<input type="submit" value="senden">
</form>
</body>
</html>