Bilder nach upload tauschen/verschieben

bensky

Erfahrenes Mitglied
Hi Leute, ich baue an nem script mit dem ich die Bilder nach dem upload verschieben kann.
Es soll so funktionieren das ich die 5 Bilder auf ner Seite sehen kann und dann durch umverschieben die namen der Bilder per input="hidden" ändern kann.

Das umverschieben funktioniert schon aber nicht die versteckte Namensübergabe.
Es soll so funktionieren das wenn ich bild "1" nach unten verschiebe auf platz "2", bild 1 dann per hidden/value auf den Name "2" getauscht wird und bild "2" den namen "1".
Die namensgebung findet in nem 2ten Script statt und ist kein Problem mit php, nur die übergabe per JS & input bekomme ich nicht hin?
Wo liegt mein Fehler

Hier mein script:
HTML:
<html>
<head>
<title>Test</title>

<style type="text/css">
table#
upload b{display:none;}
</style>

<script type="text/javascript">
<!--
document.write(unescape('%3Cstyle%20type%3D%22text%2Fcss%22%3E%0D%0Atable%23upload%20b%7Bdisplay%3Ablock%3B%7D%0D%0A%3C%2Fstyle%3E'));
function move(from,to)
{
  tbl=document.getElementById('upload');
  for(i=0;i<tbl.rows[from].cells.length;++i)
    {
      if(i==1)continue;
      tbl.rows[to].cells[i].insertBefore(tbl.rows[from].cells[i].firstChild,tbl.rows[to].cells[i].firstChild);
      tbl.rows[from].cells[i].appendChild(tbl.rows[to].cells[i].lastChild);
    }
}
//-->
</script>

</head>

<body>
<form action="upload.php"method="post" enctype="multipart/form-data">
<table border="0"id="upload">

<tr><td>
<img src="b1.gif" alt="1"></td><td>
<b onclick="move(0,1)"><img src="r.gif" alt="Runter"></b></td><td>

<input type="hidden" name="file1_old" value=""> <!-- Test von alt auf neue datei -->
<input type="hidden" name="file2_new" value="">
</td></tr>

<tr><td>
<img src="b2.gif" alt="2"></td><td>
<b onclick="move(1,0)"><img src="h.gif" alt="Hoch"></b>
<b onclick="move(1,2)"><img src="r.gif" alt="Runter"></b></td><td>
<input type="file" name="file[]">
<input type="hidden" name="file2_old" value="">
<input type="hidden" name="file2_new" value=""> <!-- Test von alt auf neue datei -->
</td></tr>

<tr><td>
<img src="b3.gif" alt="3"></td><td>
<b onclick="move(2,1)"><img src="h.gif" alt="Hoch"></b>
<b onclick="move(2,3)"><img src="r.gif" alt="Runter"></b></td><td>
<input type="file" name="file[]"></td></tr>

<tr><td>
<img src="b4.gif" alt="4"></td><td>
<b onclick="move(3,2)"><img src="h.gif" alt="Hoch"></b>
<b onclick="move(3,4)"><img src="r.gif" alt="Runter"></b></td><td>
<input type="file" name="file[]"></td></tr>

<tr><td><img src="b5.gif" alt="5"></td><td>
<b onclick="move(4,3)"><img src="h.gif" alt="Hoch"></b></td><td>
<input type="file" name="file[]"></td></tr><tr><td colspan="3" align="center">
<input type="submit"></td></tr>
</table>
</body>
</html>
 
Hi,

ich hab Dein Problem nicht richtig verstanden.

Du möchtest immer zwei Bilder tauschen - z.B. "bild1.gif" und "bild2.gif".

Möglichkeit 1:
Die Bilder sollen nach dem Tausch den gleichen Namen wie zuvor besitzen. "bild1.gif" bleibt "bild1.gif".

Möglichkeit 2:
Die Namen sollen ebenfalls getauscht werden, also "bild1.gif" heisst anschliessend "bild2.gif" und
umgekehrt ("bild2.gif" wird "bild1.gif").

Ciao
Quaese
 
Hmmm ne, wenn getauscht wir soll bild1 zu bild2 werden und umgekehrt. das mach ich später mit php, ich suche nach ner möglichkeit in nem versteckten input die namen zu behalten aber in der "value" den neuen wert bsp. bild2 zu haben ;)
 
Hi,

vielleicht solltest Du nicht die Zeilen der Tabelle tauschen, sondern Bilder und Werte der Felder gezielt.

Vielleicht kannst Du ja mit folgendem Dokument etwas anfangen.
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>www.tutorials.de</title>
<meta name="author" content="Quaese">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<style type="text/css">
table#
upload b{display:none;}
</style>

<script type="text/javascript">
<!--
document.write(unescape('%3Cstyle%20type%3D%22text%2Fcss%22%3E%0D%0Atable%23upload%20b%7Bdisplay%3Ablock%3B%7D%0D%0A%3C%2Fstyle%3E'));

function move(intFrom, intTo){
  // Tabellenobjekt
  var objTable = document.getElementById("upload");

  // Hilfsvariable zum Tauschen
  var strSrcHelp = document.getElementById("img_"+intFrom).src;

  // Quellbild und Dateinamen tauschen
  document.getElementsByName("file"+intFrom+"_old")[0].value = document.getElementById("img_"+intFrom).src;
  document.getElementsByName("file"+intFrom+"_new")[0].value = document.getElementById("img_"+intTo).src;
  document.getElementById("img_"+intFrom).src = document.getElementById("img_"+intTo).src;

  // Zielbild und Dateinamen tauschen
  document.getElementsByName("file"+intTo+"_old")[0].value = document.getElementById("img_"+intTo).src;
  document.getElementsByName("file"+intTo+"_new")[0].value = strSrcHelp;
  document.getElementById("img_"+intTo).src = strSrcHelp;
}
//-->
</script>

</head>

<body>
<form action="upload.php" method="post" enctype="multipart/form-data">
<table border="0" id="upload">

<tr>
<td><img id="img_0" src="../bilder/fussball.jpg" alt="1"></td>
<td><b onclick="move(0,1)"><img src="../bilder/down.gif" alt="Runter"></b></td>
<td>

old:<input type="text" name="file0_old" value=""> <!-- Test von alt auf neue datei -->
new:<input type="text" name="file0_new" value="">
</td></tr>

<tr><td>
<img id="img_1" src="../bilder/fussball1.jpg" alt="2"></td><td>
<b onclick="move(1,0)"><img src="../bilder/up.gif" alt="Hoch"></b>
<b onclick="move(1,2)"><img src="../bilder/down.gif" alt="Runter"></b></td><td>
<input type="file" name="file[]">
old:<input type="text" name="file1_old" value="">
new:<input type="text" name="file1_new" value=""> <!-- Test von alt auf neue datei -->
</td></tr>

<tr><td>
<img id="img_2" src="../bilder/fussball2.jpg" alt="3"></td><td>
<b onclick="move(2,1)"><img src="../bilder/up.gif" alt="Hoch"></b>
<b onclick="move(2,3)"><img src="../bilder/down.gif" alt="Runter"></b></td><td>
<input type="file" name="file[]">
old:<input type="text" name="file2_old" value="">
new:<input type="text" name="file2_new" value=""> <!-- Test von alt auf neue datei --></td></tr>

<tr><td>
<img id="img_3" src="../bilder/fussball3.jpg" alt="4"></td><td>
<b onclick="move(3,2)"><img src="../bilder/up.gif" alt="Hoch"></b>
<b onclick="move(3,4)"><img src="../bilder/down.gif" alt="Runter"></b></td><td>
<input type="file" name="file[]">
old:<input type="text" name="file3_old" value="">
new:<input type="text" name="file3_new" value=""> <!-- Test von alt auf neue datei --></td></tr>

<tr><td><img id="img_4" src="../bilder/fussball4.jpg" alt="5"></td><td>
<b onclick="move(4,3)"><img src="../bilder/up.gif" alt="Hoch"></b></td><td>
<input type="file" name="file[]">
old:<input type="text" name="file4_old" value="">
new:<input type="text" name="file4_new" value=""> <!-- Test von alt auf neue datei --></td></tr>
<tr><td colspan="3" align="center">
<input type="submit"></td></tr>
</table>
</form>
</body>
</html>
Ich habe den Bildern eine ID zugewiesen und sie von Null beginnend durchnummeriert. Die Nummerierung
dient auch dazu, um die Textfelder anzusprechen (aus den Textfeldern können jederzeit versteckete Felder
gemacht werden).

Ciao
Quaese
 
Hi, danke für die Antwort aber ich kriege es irgendwie nicht hin.
Ich will einfach nur das ich die Bilder nach dem Upload, die upload felder müssen da garnicht stehen, einfach in der Reihenfolge vertauschen kann und die getauschten Bilder dann halt den Namen vom vorherigen getauschten versehen werden. Aber anscheindend bin ich ein JS , da ich einfach nur Felder brauche die den alten namen gegen den Neuen tauschen. Umbenannt werden sie Später mit php....

Hat Jemand ne Idee?
 
Hi, hat sich erledigt, funktioniert wunderbar, nur nicht im Firefox;( aber ie reicht auch schon mal. Vielen Dank für deine super Hilfe ;)
 

Neue Beiträge

Zurück