Ingo: Inhalte einer Tabellenzelle verschieben

Beitrag lesen

Hallo Eddi,

danke für Deine Mühe, es scheint wirklich so zu funktionieren:-))

Eine lezte Frage habe ich noch, auf den Inhalt der Textfelder kann ich ja zugreifen und diese dann Abspeichern, aber wie komme ich an die Reihenfolge?

Viele Grüße

Ingo

Hallo Ingo,

<script type="text/javascript">
function top(c)
 {
 a=document.getElementsByName("a"+c)[0].value
 document.getElementsByName("a"+c)[0].value=document.getElementsByName("a"+(c-1))[0].value
 document.getElementsByName("a"+(c-1))[0].value=a
 }

function bot(c)
 {
 a=document.getElementsByName("a"+c)[0].value
 document.getElementsByName("a"+c)[0].value=document.getElementsByName("a"+(c+1))[0].value
 document.getElementsByName("a"+(c+1))[0].value=a
 }
</script>
</head>
<body>
<form action="~" method="post">
<table>
 <tr> <td><a href='javascript:bot(0)'>bottom</a>&nbsp;<a href='javascript:top(0)'>top</a></td>
      <td>Eingabe:</td>
      <td><input type='text' name='a0'></td>
 </tr>
 <tr> <td><a href='javascript:bot(1)'>bottom</a>&nbsp;<a href='javascript:top(1)'>top</a></td>
      <td>Eingabe:</td>
      <td><input type='text' name='a1'></td>
 </tr>
[...]
</table>
</form>

Kann sein, das ich jetzt beim Herauslöschen einiger Komponeten Fehler gemacht habe (habe es nicht noch mal laufen lassen). Bitte selbst debuggen. Erste definitive Fehlerquelle ist, daß für das letzten <input> kein Element[name="a"+(c+1)] existiert - und dementsprechen auch beim ersten Element...
Da ich damals das script serverseitig generiet habe, hatte ich eine Kontrollstruktur erstell, um diese Fehler zu vermeiden; (erste <input> hatte kein <a ~>top</a> und umgekehrt mit dem letzten...)

Das wäre jetzt die einzigste relativ leichte Möglichkeit dies mit einem Formular zu realisieren. Das mit den einzelen Tabellenzellen würde auch gehen, aber das ist komplizierter zu realisieren... (Wenn die User nicht sehen sollen, das es sich um ein Formular handelt, dann benutze stylesheets und "readonly".)

Gruß aus Berlin!
eddi