Webdesign in Siegen

Value Farbe im input Feld anders als wenn man eingibt

Fragen zum Thema HTML und CSS können hier gestellt werden

Moderatoren: Basti, Ingo

Value Farbe im input Feld anders als wenn man eingibt

Beitragvon -Denise- am 22.04.2008, 16:50

Hey!

Hab schon gesucht jetzt, aber find nichts passendes zu meinem Problem...
Habe auch noch in einem anderen Forum gefragt, aber hab da noch keine Antwort erhalten, vll gibts für das Problem ja auch keine :xx:

Ich habe ein input-Feld in einem Formular, wo per value schon etwas drinsteht.
Das soll in hellgrauer Schrift erscheinen. Wenn der Anwender aber jetzt was selber eingibt, dann soll die Schriftfarbe schwarz sein.
Geht sowas überhaupt? Und wenn ja, wie?

LG Denise
-Denise-
Mitglied
 
Beiträge: 26
Registriert: 18.02.2008, 19:04
Wohnort: Sachsen

Re: Value Farbe im input Feld anders als wenn man eingibt

Beitragvon Basti am 22.04.2008, 17:19

Soll sich die Schriftfarbe sich einfach beim Aufrufen und Bearbeiten des Feldes verändern oder erst wenn man wirklich den Standardwert verändert?

Ersteres lässt sich nämlich über die CSS Pseudoklassen :hover bzw. :active realisieren, wobei der IE da nicht mit macht. Alternativ könntest du auch über JavaScript eine neue Klasse mit der entsprechenden Hintergrundfarbe zuordnen sobald das Feld angeklickt wird.
Gruß,
Basti


Bild Bild
Benutzeravatar
Basti
Moderator
 
Beiträge: 1774
Registriert: 15.06.2006, 17:33
Wohnort: Rheinbreitbach

Re: Value Farbe im input Feld anders als wenn man eingibt

Beitragvon MJK am 22.04.2008, 23:37

Wenn du hiermit ein wenig rumprobierst müsstest du hoffentlich das gewünschte Ergebniss erlangen.
Code: Alles auswählen
<head>
<title>Test001</title>
<script language="javascript" type="text/javascript">
function test_function(){
document.getElementById('input_feld').style.color="#000000";
}

</script>
</head>

<body>
<input type="text" id="input_feld" value="Irgendein text" style="color:#666666"  onClick="test_function();" />
</body>
</html>
Let's do it!
Benutzeravatar
MJK
Mitglied
 
Beiträge: 377
Registriert: 28.07.2006, 01:50

Re: Value Farbe im input Feld anders als wenn man eingibt

Beitragvon -Denise- am 23.04.2008, 08:11

Hmmm ich probier mal.... aber wenn wirklich jemand JS ausgeschalten ist das auch doof.... Geht das nich vll mit PHP irgendwie?? sowas wie, wenn man das Feld anklickt wird die Schriftfarbe schwarz? Also auch nur wenns dann jemand ändert...
-Denise-
Mitglied
 
Beiträge: 26
Registriert: 18.02.2008, 19:04
Wohnort: Sachsen

Re: Value Farbe im input Feld anders als wenn man eingibt

Beitragvon MJK am 23.04.2008, 09:00

PHP ist keine eventgesteuerte Programmiersprache.
Deswegen müsstest du, um das in PHP zu realisieren die Seite neu laden.
Dazu bräuchtest du aber wieder ein javascript-onClick Event.

Außerdem behaupte ich mal dass der Großteil der Surfer im Netz javascript aktiviert haben.
Let's do it!
Benutzeravatar
MJK
Mitglied
 
Beiträge: 377
Registriert: 28.07.2006, 01:50

Re: Value Farbe im input Feld anders als wenn man eingibt

Beitragvon -Denise- am 23.04.2008, 09:40

Nagut, dann probier ich das jetz einfach mal ;)

ok also im dem anderen Forum hat man mir auch noch eine gute Lösung vorschgeschlagen und zwar:
zweitaccount hat geschrieben:Alternativ kannst Du auch schreiben:

Code: Alles auswählen
<html>
<head>
<title>Inputfarbwechsel</title>
<style type="text/css">
<!--
INPUT {
   color:lightgrey;
}
INPUT:focus {
   color:red;
}
-->
</style>
</head>

<body>
<input type="text" class="myInputField" value="myValue">
</body>
</html>


Geht aber nur in modernen Browsern. Für den IE6 und älter
also dann noch ein eigenes Stylesheet per Conditional Comments.

Via Javascript in etwa so:
Code: Alles auswählen
<script type="text/javascript">
   var attachColorChange = function() {
      var el = document.getElementsByTagName("input");
      for(i=0;i<el.length;i++) {
         el[i].onfocus = function() {
            this.style.color = 'red';
         }
         el[i].onblur = function() {
            this.style.color = 'lightgrey';
         }
      }
   }
   window.onload = attachColorChange;
</script>


Das habe ich jetzt mal probiert und klappt super!
-Denise-
Mitglied
 
Beiträge: 26
Registriert: 18.02.2008, 19:04
Wohnort: Sachsen


Zurück zu HTML/CSS

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast