Datenschutzerklärung

JS -- Bei klick auf tabellenzeile hintergrundfarbe ändern -- User

Validome - Forum

Startseite Validome
RSS 2.0  
Sie sind nicht angemeldet. Atom 1.0  
Forum Home / Javascript-Forum /

JS -- Bei klick auf tabellenzeile hintergrundfarbe ändern -- User

  Beitrag schreiben
Autor
Beitrag Seiten: 1
ichbinsdennis
Gast



ich habe folgendes Problem:

Meine Sachlage:

1. ich habe per JavaScript ein Login eingebaut ... (3 User)
2. nun habe ich eine riesige tabelle gebaut. Nun möchte ich, dass user auf eine      tabellenzeile klicken können und sich die Hintergrundfarbe verändert. Wenn sie nocheinmal draufklicken soll die Farbe wieder die ursprüngliche sein.
3. Jedem User soll eine eigene Farbe zugewiesen sein .. das bedeutet z.B User1=rot , User2=schwarz User3=grün.
4. Nur diejenigen User sollen die Farbe wieder rückgängig machen können die sie auch verändert haben.

Ich würde mich super freuen wenn wir jemand eine lösung in js und eingebunden in Html bieten könnte

Ich freue mich auf jede gute antwort

Danke


13.03.2008 15:42:54
  Zitieren
Chiaki
Mitglied

Ort: Germany (81825)
Registriert: 23.12.2007
Beiträge: 95
Hallo,

das hört sich irgendwie an wie eine Seite mit einer Tabelle, die bestimmte
Statusanzeigen beinhaltet. Die jeweilige User-Farbe soll wohl signalisieren, welcher User
gerade mit welchem Projekt/Arbeit/etc beschäftigt ist, damit nicht ein anderer die
Arbeit doppelt macht.

Wenn das soweit zutrifft, dann gibt es ein Problem, nämlich dass zwar der betreffende
User in -seinem aktuellen- HTML-Dokument die Farbe ändern kann, jeder andere User
auf jedem x-beliebigen User-Agent aber nach wie vor die Standardabelle ohne Farbe
angezeigt bekommt - woher soll er auch wissen was jemand an einem völlig anderen
Rechner lokal verändert.

Bleibt also nur die serverseitige Umsetzung, wo dann per MySQL oder Textdatei der
jeweilige Status der jeweiligen Zelle markiert wird. Natürlich könnte das JS auch eine
Anfrage an den Server senden um den Status zu ändern, das würde aber nichts daran
ändern, daß letztendlich der Server die Einstellungen speichert.

Wenn ich's falsch verstanden habe, möge man mich bitte ignorieren :-)

Greetings, Chiaki


_______________________________________
Make sure You've read RFC 1855, before sending electronic mail,
start Chats, posting on Newsgroups or leave any Comments.
RFC 1855: Netiquette Guidelines <http://www.rfc1855.net/>

13.03.2008 18:10:18
http://www.rfc1855.net/ Zitieren
ichbinsdennis
Gast



ich glaube du hast das schon richtig verstanden ich will eigentlich folgendes...

eine große tabelle mit informationen und dahinter alle tage des jahres 2008.
Nun soll es 3 benutzer geben die in dieser tabelle ein datum anklicken können und sich dann die zeile in ihre spezifische hintergrundfarbe ändert ..
es muss also für alle benutzer erkennbar sein also sozusagen speicherbar sein ..

is das jetzt verständlicher und wenn ja wüsstest du dafür auch eine konkrete lösung?

mfg


13.03.2008 18:50:34
  Zitieren
Chiaki
Mitglied

Ort: Germany (81825)
Registriert: 23.12.2007
Beiträge: 95
Hm, das ist nicht so einfach mal eben geschrieben.

Du brauchst auf dem Server eine Datenbank, die 1. die Tabelle abbildet und für jede
Zelle einen Farbcode definiert (der entweder standard [0], user1 [1], user2 [2], etc
ist), 2. alle user mit ihren zugeteilten Farben definiert. Für den Fehlerall (daß z.B.
ein user mal gelöscht wird und der Farbwert nicht ermittelt werden kann) wird die Zelle
dann eben wieder mit standard-Farbe angezeigt.

Das Login per Javascript ist dafür natürlich absolut ungeeignet, da die Verbindung
"eingeloggt Client" und "eingeloggt Server" völlig fehlt bzw. absolut unzuverlässig ist.
Für diese Anwendung solltest du komplett server-side programmieren, mit PHP-Login,
HTTP-Auth, oder was auch immer.

Wenn das soweit umgesetzt ist, bekommt das entsprechende <td> einfach ein
onclick="" spendiert, über das ein PopUp aufgerufen wird, dem eine URL mit diversen
Änderungsparametern übergeben wird, die dann auf dem Server entsprechend die
Datenbank ändert und im PopUp eine Success-/Failure-Meldung ausgibt. Da mit dem
PopUp aber noch keine Änderung der aktuellen Ansicht beim User vollzogen wird,
könnte man das PopUp auch weglassen und einfach die Tabellenseite neu laden
lassen, wobei das <td> gleich eine eindeutige id="" bekommt, über die mit einem
Anker direkt angesprungen werden kann (dieses wahlweise umzusetzen als
onclick="", Formular oder einfachem Textlink).

So, jetzt hab ich aber nen Sermon geschrieben o.O Ich hoffe, es ist irgendwie
verständlich, auch wenn ich jetzt nicht die Zeit habe, ein Beispiel zu programmieren.

Greetings, Chiaki

Beitrag geändert von Chiaki (13.03.2008 19:35:36)


_______________________________________
Make sure You've read RFC 1855, before sending electronic mail,
start Chats, posting on Newsgroups or leave any Comments.
RFC 1855: Netiquette Guidelines <http://www.rfc1855.net/>

13.03.2008 19:34:33
http://www.rfc1855.net/ Zitieren
ichbinsdennis
Gast



Oh ich danke dir erstma ..
würde mich natürlich mega freuen wenn du mir das soweit ma an nem beispiel coden könntest weil selber werde ich das leider nicht hinbekommen ist ja schon sehr weit fortgeschritten -- hoffe jemand kann mir dabei helfen der zeit hat (=
die tabelle könnt ich dann ja auch selber anpassen nur halt die programmierung mit usern .. die user sollen auch nich geändert werden von daher muss da nichts mit Felhlerfall programmiert werden..

mfg


13.03.2008 20:39:34
  Zitieren
Chiaki
Mitglied

Ort: Germany (81825)
Registriert: 23.12.2007
Beiträge: 95
Hallo,

nachdem ich nun heute etwas mehr Zeit und Lust hatte...
http://dark-chiaki.net/test/00048630/

Zum einloggen mal "User 1" und "password1" benutzen, die 1 kann nach Belieben
durch 2 oder 3 ersetzt werden um die verschiedenen Benutzer zu testen.

Falls Interesse daran besteht, da des PHP-/Apache-Zeugels:
http://dark-chiaki.net/test/00048630/php/

Anmerkung: Das Verzeichnis "./.data/" muß Rechte 0777 haben,
die Datei "./.data/.2008.txt" muß Rechte 0666 haben, sonst funzt des nich.

Greetings, Chiaki

PS: Selbstredend könnte man das auch mit einer MySQL-Datenbank umsetzen,
aber die Textdatei läßt sich einfacher per FTP sichern / ersetzen. Für MySQL müßte
man gleich wieder ein extra Frontend einbauen... Und nein, das Script hat eigentlich
überhaupt keine großartigen Fehlerroutinen - wenn etwas nicht geht, wird die Sache
kommentar- und meldungslos übersprungen (z.B. wenn User versucht, mit einer
manuell eingegebenen URL die Routine zu manipulieren, etc...).

Vor dem Produktionseinsatz sollte in der .config.php die erste Anweisung auf
error_reporting(0); geändert werden, um PHP-Meldungen abzustellen.

Update 2008-03-17 by Chiaki:

Hab noch etwas <noscript> reingepackt, nur für den Fall es wäre von nöten.
Kann aber auch ganz einfach gelöscht werden, ist ja (fast) selbsterklärend :-)

Update 2008-03-27 by Chiaki:

Hab URL zur Testseite geändert - Subdomain organisatorisch aufgelöst.

Beitrag geändert von Chiaki (27.03.2008 20:36:30)


_______________________________________
Make sure You've read RFC 1855, before sending electronic mail,
start Chats, posting on Newsgroups or leave any Comments.
RFC 1855: Netiquette Guidelines <http://www.rfc1855.net/>

15.03.2008 21:49:04
http://www.rfc1855.net/ Zitieren
Seiten: 1   Beitrag schreiben
Wechsel zu

Die letzten Beiträge aus diesen Forum

Valid HTML 4.01