# Hintergrundfarbe herausbekommen



## Robt (1. Dez 2005)

Hi Leute,

ich arbeite an einer JSP und folgendes Problem stellt sich mir seit einigen Stunden:

Ist es möglich die Hintergrundfarbe von einem <tr> oder <td> herauszubekommen? Weil er auf eine bestimmte Farbe reagieren soll. 

Ich habe bislang keine Methode bekommen. Vielleicht hat einer von euch ja mal eine Idee!!

Thanks a lot!!!

Robt


----------



## Ilja (1. Dez 2005)

scheint ein javascript-problem zu sein, weil <td> nix mit java zu tun hat...

wenn du deinem td eine id zuteilst <td id=bla1 bgcolor=#ACBDEF>, kannst du per javascript document.getElementById("bla1").bgcolor die farbe erfragen


----------



## Robt (1. Dez 2005)

Ja wie gesagt, es handelt sich um eine JSP und <td> und <tr> sind HTML Bestandteile einer Tabelle.
Ich suche eigentlich nach einer Möglichkeit in Java, weil auf dem Gebiet JavaScript bin ich ziemlich blank.
Was du da geschickt hast klingt logisch, aber das bgcolor nimmt er bei mir nicht....schmeißt nen Fehler.
Trotzdem schonmal DANKE!!


----------



## Ilja (1. Dez 2005)

wenn du sagst, was du im endeffekt damit anstellen willst, kann ich auch sagen, wie du es machen kannst 

PS: es kann auch sein, dass es background heißt oder bgColor (case-sensetiv)


----------



## Robt (1. Dez 2005)

Daten sind Beispiele aber auf die Struktur kommt es ja an:
Ich habe in Java ein Array mit 12 "Einträgen". Die Tabelle hat 3 Spalten, er schreibt jeden Array-"Eintrag" in ein Datenfeld, so dass ich nachher 4 Tabellenzeilen hab.
Klick ich auf eine Zeile der Tabelle färbt sich diese in eine andere Farbe (ist JavaScript, aber nicht selber geschrieben) funzt über das Event onClick.
Nun habe ich eine Zeile andersfarbig und diese Daten will ich ändern bzw. löschen. Dazu hab ich jeweils ein Button. Wenn ich den Button klick, weiß das Programm nicht welche Zeile markiert ist.
Am besten wäre noch wenn die Buttons oberhalb der Tabelle wären (wegens Übersicht).....kann mittlerweile auch gut sein das ich den Wald vor lauter Bäumen nicht mehr sehe....


----------



## Ilja (1. Dez 2005)

sien die lösch/bearbeiten-buttons post/submit-buttons, oder javascript-anweisungen?

wenns javascript is, kannst du auch in einer variablen speichern, welches feld angeklickt wurde:
onClick="saveID(this.id); ...;"

wenn du nen link hast, könnte ichs mir mal ansehen...


----------



## Robt (1. Dez 2005)

<form name="edit" action="<%= response.encodeURL("/NächstesServlet")%>?spalte=<%=primaryKeys%>&wert=<%=wert%>" method="post" target="new">
    	<input type="submit" name="funktion" value="edit" >
    </form>

so schauts aus.....


----------



## Ilja (1. Dez 2005)

ok....es wird per post versendet -.-

du brauchst einen versteckten input-tag innerhalf der Form
<input id=selCell type=hidden name=zelle value="">

die funktion saveID speicher in diesem input-tag unter value die zellinfos, die dein servlet braucht!
z.b.
function saveID(cell) {
document.getElementById(selCell).value = "was auch immer/cell.value?";
}


----------



## Robt (1. Dez 2005)

Also ich hab immernoch viele viele Fragezeichen in meinem Hirn...raff das garnicht....ich bekomm die Denkblockade nicht weg..... 

ich erstell die tabelle ja datenfeld für datenfeld und zeile für zeile bis das array "leer" ist. ich änder die farbe der zeile ja, kann ich da nicht einen schalter mit einsetzen und den dann abfragen? da bei ist das problem dann nur das er die seite nicht neu läd....gibt es denn dafür eine function die ich miteinbauen kann?


----------



## Ilja (1. Dez 2005)

da die buttons ein neues fenster öffnen und an dieses mittels post die informationen senden, ist das die einzige möglichkeit 
du solltest die <td> mit der id versorgen, die dem Array-index deiner daten entspricht


----------



## Robt (1. Dez 2005)

ok dann muss ich mir das so irgendwie zusammenklicken 
wenn ich mich mal an dein beispiel halte.....


<input id=selCell type=hidden name=zelle value=""> 

kommt zu dem Button ins Formular



function saveID(cell) { 
document.getElementById(selCell).value = "was auch immer/cell.value?"; 
}

kommt in den JavaScript-Teil


der Aufruf:

......onClick="saveID(<%=dieVariable%>" .......

Fragen:
müssten die 2 rotmarkierten nicht gleich dem grünmarkiertem sein bzw andersherum????
in dem blaumarkierten muss dann das hinein, was in dem hidden input im value stehen soll...richtig?

ich hoffe dann hab ich es zusammen......hab ich das jetzt richitg?


----------



## Ilja (2. Dez 2005)

saveID bekommt als parameter (cell), das was du dann unter selCell (blau) speichen willst 

die beiden roten zeile sind nicht das gleiche!
selCell ist dier hidden-input und cell ist das darin zu speichernde value!

sonst haste es glaub ich richtig verstanden ^^


----------



## Robt (2. Dez 2005)

Ok Danke es läuft!!! 
Hatte noch nen anderes sch*** Problem, weil ich eine *.js Datei für die anderen Funktionen benutze und die Funktion in den Code zu geschrieben hab (<script>...</script>)....so nun ist die auch inner *.js Datei drin und jetzt läuft der  Kram!

Hast mir das WE gerettet!!!  :toll:


----------

