• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

IDs für Tabellenfelder

syuam

Neues Mitglied
es geht darum:
Unbenannt.JPG
menüpunkt1 ist sozusagen die Formularansicht. Mittels javascript "onclick" lässt sicher per klick auf ein kästchen ein "verstecktes" Formular öffnen, wo man dann die Möglichkeit ein bild hochzuladen.
1.Entscheidet man sich unter dem menüeitrag1(Formularansicht) für das Kästchen mit der id2, so soll das das hochgeladene Bild auch unter dem menüeintrag2(listenansicht) bei der id2 dargestellt werden.
Die Kästchendarstellung habe ich mittels <table> gelöst.
Doch habe ich nun noch immer nicht verstanden, wie ich jedem Kästchen(td) unter menü1 genau ein Kästchen(td) unter menü2 zuordnen kann.
kann mir da jemand helfen?
wäre echt dankbar und LG!
 
Die Fragestellung ist diffus.

- Wenn du beim Klick auf ein Image dieses einem anderen Element zuweisen willst, schreibe dafür eine einzelne Funktion, ohne es gleichzeitig hochzuladen.
- Du kannst eine ID lediglich einmal auf einer Seite verwenden. Ansonsten kommt es zu unerwünschten Effekten.
- Poste mal bei deinen bisherigen Ansatz mit JavaScript.
 
also erst mal unter dem Menüeintrag1:
<td onmouseover="hover(this)" onmouseout="normal(this)">
<form name="formular" action="javascript:test();">
<input type="button" value="formular_zeigen" onclick="test()" name="button" id="auch" />
</form>
</td>
hier der js-teil:
<script type='text/javascript'>
function test() {
window.open(document.getElementById('auch').value + '.php', "new_window", "width=400,height=200");
}
</script>
nun wollte ich, dass wenn man auf dieses Kästchen(td) klickt, ein Formularaufgerufen wird(formular_zeigen.php), wird es auch!
Aber:
Ich hab eine Tabelle bestehend aus vier Kästchen(td´s).
Wenn aber jetzt jemand auf das z.B. zweite Kästchen(oben-rechts) klickt, dann das Formular ausfüllt und das Bild hochlädt, so soll dieses Bild auch in dem zweiten Kästchen(oben-rechts) dargestellt werden, unter einem anderem menüeintrag natürlich. wie verbinde ich also ein "td" in der formularansicht mit einem "td" in der listenansicht?

ODER Könnte man die verschiedenen Tabellenfelder mit einem onclick-eventhandler belegen, der dann formular_anzeigen.php aufruft? Aber wie weise ich dann der id der angekickten Zelle das Wert-Attribut des input-Feldes zu?
LG
 
Zuletzt bearbeitet:
Mal angenommen, es befinden sich zwei Divs auf der selben Seite. Im ersten liegt ein Bild und das zweite ist leer. Soll beim Klick auf das erste Div dieses Bild in das zweite kopiert werden, könnte man dazu das src-Attribut abfragen und damit im zweiten Div ein neues HTML-Element erzeugen.

ungetestet:
Code:
<div id="eins"><img src="bla.png"></div>
<div id="zwei"></div>

<script>
$('#eins').on('click', function() {
    var pic = $(this).find('image').attr('src');
    $('#zwei').append('<img src="' + pic + '" />');
});
</script>

Willst du das Bild allerdings zwischen zwei Seiten weiterreichen, muss es irgendwo zwischengespeichert werden. Das ließe sich anhand eines Cookies oder einer PHP Session bewerkstelligen. Möglich wäre es auch, dass die zweite Seite das Bild aus einer Datenbank lädt.
 
hey, danke erstmal für die Antwort :)
Das Bild soll zwischen zwei Seiten weitergereicht werden.
Dieser Vorgang sieht bei mir bisher so aus...
Die erste Seite:
Per onclick-event und eine js-Funktion(window.open) wird eine neue php-Seite aufgerufen, in der sich auch das Formular befindet, mithilfe dessen das Bild hochgeladen wird in die mysql-DB.
Ich habe nun aber vier Tabellenfelder mit jeweils vier verschiedenen "name",-"value"-und "onclick"-Angaben.
Das heißt bei mir, dass jedes Tabellenfeld ein anderes Formular aufruft, obwohl es immer um einen Bildupload geht.
Das habe ich gemacht, weil jedes Bild auf der nächsten Seite an einer ganz bestimmten Position stehen soll, wie z.B. zwischen <td></td>.
Das sollte auf der zweiten Seite dann so aussehen:
<td> <?php Code mit dem ein ganz bestimmtes Bild aus der DB gehollt wird ?>
Ist das so sinnvoll oder gibt es logischere/bessere Lösungen dafür?
Ich meine, wenn es dann 100 Tabellenfelder wären, wären es dann auch 100 neue js-Funktionen und die Erstellung von 100 weiteren Formularen wäre dann nötig oder?
LG und danke im vorraus
 
Ich kann mich da etwas schwer hineinversetzen, weil ich nicht in Tabellenlayout denke. Es wäre doch einfacher, du nimmst statt dessen Blockelemente wie <p> oder <div> und weist diesen Klassen bzw. IDs zu.

Ein besserer Ansatz ist hier wahrscheinlich AJAX. Damit könntest du ein Request an ein PHP-Script senden, welches den Inhalt in einen Div-Cotainer lädt, ohne dass dazu auf eine andere Seite umgeleitet werden muss. Das wäre dann nur ein einziges Formular, und natürlich benötigt man auch nur eine JS-Funktion, der bedarfsweise unterschiedliche Parameter übergeben werden.

und ja: das Einlesen der Bilder aus einer Datenbank ist natürlich die beste Variante.
 
ok, danke, ich hab auch gelesen, dass Bilder nicht so in eine DB gespeichert werden sollten...
Bin immer wieder drauf gestoßen, dass man einen Link/Verweis setzen sollte, aber ich weiß einfach nicht, wie ich das bei phpmyadmin vereinbaren soll..
Kann mir da jemand helfen?wäre echt super
 
Zurück
Oben