• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Hintergrundfarbe wechseln....

Nullahnung

New member
da bin ich wieder...

ich habe ein problem.... ich habe 4 textfelder in etwa so:
HTML:
<div id="a1LYR" class="TextObject">
<textarea  name="a1" id="a1" onclick="javascript:obj.style.backgroundColor = '#0000CC';"><? echo $_SESSION['a1'];?></textarea></div>

<div id="a2LYR" class="TextObject">
<textarea  name="a2" id="a2" onclick="javascript:obj.style.backgroundColor = '#0000CC';"><? echo $_SESSION['a2'];?></textarea></div>

<div id="a3LYR" class="TextObject">
<textarea  name="a3" id="a3" onclick="javascript:obj.style.backgroundColor = '#0000CC';"><? echo $_SESSION['a3'];?></textarea></div>

<div id="a4LYR" class="TextObject">
<textarea  name="a4" id="a4" onclick="javascript:obj.style.backgroundColor = '#0000CC';"><? echo $_SESSION['a4'];?></textarea></div>

nun möchte ich wenn ich auf ein feld klicke, dass die hintergrundfarbe wechselt... soweit klar... aber ich will, wenn man dann ein anderes von den 4 felder auswählt, dass das bereits ausgewählte wieder quasi abgewählt wird...

hab kein plan wie das funktieren soll...
 
Dein Code funktioniert so nicht, obj gibt es nicht. Ausserdem ist das Label "javascript:" absolut unötig an dieser Stelle.

Das was du willst läßt sich nicht mit ein paar Zeilen inline code lösen. einfacher wäre es, wenn du eine Funktion schriebst, die dann das zuletzt angeklickte Element sich merkt und dann zurücksetzt.
 
Und eine Referenz auf das aktuelle Feld kannst du mit dem Schlüsselwort this an deine erstellte Funktion übergeben:
Code:
<textarea  name="a1" id="a1" onclick="deineFunktion(this);"><? echo $_SESSION['a1'];?></textarea>
 
einfacher wäre es, wenn du eine Funktion schriebst, die dann das zuletzt angeklickte Element sich merkt und dann zurücksetzt.

oder brutal zuvor alle Elemente zurücksetzen. Mit jQuery nur ein paar Zeilen (mal so auf die Schnelle):
Code:
document.ready = function(){
  $('.tx').click(function(){
     $('.tx').css( 'backgroundColor' , '#fff' ) ;
     $(this).css( 'backgroundColor' , '#ccf');
   });
};

Die betreffenden textareas sollten dafür eine class "tx" erhalten:
HTML:
<div id="a1LYR" class="TextObject">
<textarea  name="a1" id="a1" class="tx">test1</textarea></div>

<div id="a2LYR" class="TextObject">
<textarea  name="a2" id="a2" class="tx">test2</textarea></div>

<div id="a3LYR" class="TextObject">
<textarea  name="a3" id="a3" class="tx">test3</textarea></div>

<div id="a4LYR" class="TextObject">
<textarea  name="a4" id="a4" class="tx">test4</textarea></div>
 
Zur Ehrenrettung von Javascript sei noch angemerkt, daß die Pseudoklasse focus nur für einige HTML-Elemente wie textarea und input nutzbar ist.
 
danke für die antworten... also ich hab das mit css... gemacht...

aber jetzt hab ich noch ein problem.... ich möchte beim clicken in dem feld eine variable festlegen, welche dann per url an die nächste Seite übergeben wird...
Code:
<input type="text"  class="antwort input:focus" id="FormsEditField1" name="Eingabefeld1" size="33" maxlength="33" style="width: 260px; height: 80px; white-space: pre; onclick="javascript:res =2;" 
 value=<? echo $_SESSION['a4'];?> readonly  >

die übergabe erfolgt dann
Code:
<img id="Bild162" height="55" width="179" src="../assets/images/Start.gif"
border="0" alt="Start" title="Start" onclick="javascript:
var now = new Date(); 
var c_end=now.getTime();
location.href='./count_ps.php?s_start=<? echo $s_start;?>&c_start='+c_start+'&c_end='+c_end+'&res='+res;">

aber es funzt nicht..ich weiß nicht mal, ob es an der variablen liegt oder an dem link... wobei der bisher bis zu &res funktioniert hat
 
Zuletzt bearbeitet:
aber jetzt hab ich noch ein problem.... ich möchte beim clicken in dem feld eine variable festlegen, welche dann per url an die nächste Seite übergeben wird...
Genau dafür sind Formularfelder da.

Code:
<input type="text"  class="antwort input:focus" id="FormsEditField1" name="Eingabefeld1" size="33" maxlength="33" style="width: 260px; height: 80px; white-space: pre; onclick="javascript:res =2;" 
 value=<? echo $_SESSION['a4'];?> readonly  >
Warum willst du in dem onclick Handler unbedingt ein Label haben? es ist unnötig - das sagte ich aber bereits.


die übergabe erfolgt dann
Code:
<img id="Bild162" height="55" width="179" src="../assets/images/Start.gif"
border="0" alt="Start" title="Start" onclick="javascript:
var now = new Date(); 
var c_end=now.getTime();
location.href='./count_ps.php?s_start=<? echo $s_start;?>&c_start='+c_start+'&c_end='+c_end+'&res='+res;">

aber es funzt nicht..
"funzt nicht" ist ja mal eine gute Beschreibung eines Fehlers :-(
Zuerst mal, brauchen wir um dein JS Problem zu analysieren den Code, der im Browser ankommt, der PHP Code nutzt uns gar nichts. Dann solltest du mal einen Blick in die Fehlerkonsole werfen, damit du in der Lage bist den Fehler evtl. besser zu beschreiben.

Schlussendlich frage ich mich aber warum du kein Formular verwendest, dafür sind sie doch da?
 
also mit javascript hab ich es nicht so.... aber wie kann ich das mit dem formular machen... ich habe 4 solche textfelder.. ich will, das der wert dieses Feld also $SESSION['1'] etc... nach dem wechsel in ein feld in einer Tabelle geschrieben wird...woher weiß php welches feld angeklickt wurde... deshalb der versuch onclick...klar mit radiobutton und so ging es auch.... aber ich will dass das textfeld markiert wird...

meine denke war so... ich klicke eins von den 4 felder an... dieses wird sichtbar markiert...die var res wird gesetzt und wenn ich den start-button drücke wird diese variable an die url angehängt auf die nächste seite...in diesem fall ein affenformular... dort habe ich $_GET['res'] und kann dann weiter verarbeiten und speichern....

so einfach hab ich es mir gedacht....
 
PHP kennt vom Formular nur den Inhalt der Formularfelder und du kannst ohne Probleme und eine Zeile JS Werte von einem Formular auf das nächste übertragen. Ich verstehe nicht, warum du es so umständlich machen willst
 
Naja, in dem du die Werte über Felder in das Formular einträgst, das sollte aber auch auf jeder Seite über Affenformulare erklärt werden, wenn du den Begriff schon kennst, sollte es eigentlich einfach sein eine Lösung zu finden.
 
Na danke...herr oberlehrer...

von mir aus kann man das hier zumachen...ich habe oben gefragt nach einem hinweis was ich syntaktisch falsch mache..aber hier diese veranstaltung ist nicht arg zielführend...

ich melde mich dann mal ab hier... und wünsch noch einen schönen abend...
 
Hallo,
vielleicht hilft dir der Quelltext dieser Seite weiter :) David Jablonski — Lkd.to (http://lkd.to/dj)
Wo ist hier bitte eine Backlinkwerbung? :O
 
Zuletzt bearbeitet:
hallo du oberschlauer....

ich habe meine gründe es so zu machen....fertig... wenn du zur lösung nichts beitragen kannst, dann lass es doch... oder willst du nur in der rangliste mit beiträgen hier hochkommen.... dann begrüss doch morgens hier jeden persönlich...
 
@Nullahnung: warum machst du für deine Variablen, die du übertragen willst nicht einfach ein paar hidden-<input>s und versendest dann die Seite über einen ganz normalen submit-Button?
 
Zurück
Oben