farbige Felder
GR
- php
Ich möchte gern, dass ein User in ein Input-Feld eine Zahl eingibt, die beim Absenden des Formulars geprüft wird und je nach Bedingung (richtig oder falsch) entweder rot oder grün im gleichen Feld erscheint. (ist eine *.php - Datei). Die Zeile lautet:
<input name="eins_a" size="8" type="text" value="<?php if ($e_a==10) {echo "<h4>". $e_a."</h4>";}else{echo "<h5>". $e_a."</h5>";} ?>">
Dazu habe ich in einer css-Datei vereinbart, dass h5 rot und h4 grün als Farbe hat. Der Computer schreibt mir aber in das Feld nach dem Absenden <h4>10</h4> und nicht die 10 farbig. Kann mir jemand einen Tipp geben?
GR
Hellihello,
Dazu habe ich in einer css-Datei vereinbart, dass h5 rot und h4 grün als Farbe hat.
Trenne CSS von PHP. Das eine hat nichts mit dem anderen zu tun. Wenn das h4-Element nicht grün ist, liegts am CSS. Dem ist es egal, wer ihm den Quelltext schreibt.
Gruß,
frankx
Hallo,
Ich möchte gern, dass ein User in ein Input-Feld eine Zahl eingibt, die beim Absenden des Formulars geprüft wird und je nach Bedingung (richtig oder falsch) entweder rot oder grün im gleichen Feld erscheint.
es geht also um die optische Gestaltung, also ist CSS das Mittel der Wahl, in diesem Fall speziell die Eigenschaft color oder background-color (je nachdem, ob die Schrift oder der Hintergrund rot/grün sein soll).
<input name="eins_a" size="8" type="text" value="<?php if ($e_a==10) {echo "<h4>". $e_a."</h4>";}else{echo "<h5>". $e_a."</h5>";} ?>">
Ohje. Mal ganz abgesehen davon, dass du hier Elemente missbrauchen willst (ein Eingabefeld enthält keine Überschrift vierter oder fünfter Ordnung), ist als value von Texteingabefeldern nur reiner Text ohne Formatierung möglich.
Dazu habe ich in einer css-Datei vereinbart, dass h5 rot und h4 grün als Farbe hat.
Formatiere stattdessen lieber das Eingabefeld selbst. Gib ihm in Abhängigkeit vom eingegebenen Wert z.B. die Klasse "richtig" oder "falsch" und definiere in deinem CSS für diese zwei Klassen die entsprechenden Eigenschaften.
So long,
Martin
Tach.
<input name="eins_a" size="8" type="text" value="<?php if ($e_a==10) {echo "<h4>". $e_a."</h4>";}else{echo "<h5>". $e_a."</h5>";} ?>">
<h4> und <h5> haben im VALUE deines Textfeldes nichts zu suchen! Wenn du die Hintergrundfarbe des Feldes ändern möchtest, solltest du dafür CSS benutzen. Zeichne beispielsweise dein Textfeld entweder mit der Klasse "valid" oder "invalid" aus.
input.valid {
background-color: #0f0;
}
input.invalid {
background-color: #f00;
}
Mit diesen Angaben in CSS änderst du dann die Hintergrundfarbe entsprechend. Aber Vorsicht: Einige User haben möglicherweise das Stylen von Formularelementen in ihrem Browser deaktiviert. Sie sähen in diesem Fall keinerlei Änderung. Vielleicht möchtest du fehlerhafte Eingaben zusätzlich auf andere Weise kenntlich machen ...
Hallo Blaubart.
<input name="eins_a" size="8" type="text" value="<?php if ($e_a==10) {echo "<h4>". $e_a."</h4>";}else{echo "<h5>". $e_a."</h5>";} ?>">
<h4> und <h5> haben im VALUE deines Textfeldes nichts zu suchen! Wenn du die Hintergrundfarbe des Feldes ändern möchtest, solltest du dafür CSS benutzen. Zeichne beispielsweise dein Textfeld entweder mit der Klasse "valid" oder "invalid" aus.
input.valid {
background-color: #0f0;
}
input.invalid {
background-color: #f00;
}
Wobei ich die Klasse „valid“ hier für überflüssig halte. Entweder es ist nichts oder etwas Korrektes eingetragen, oder das Eingegebene ist fehlerhaft. Ein Feld, in dem noch nichts steht als „gültig“ zu klassifizieren erscheint mir ein wenig merkwürdig.
Einen schönen Donnerstag noch.
Gruß, Mathias
--
ie:% fl:| br:< va:) ls:& fo:) rl:( n4:~ ss:) de:] js:| mo:| zu:)
debian/rules
Tach.
Wobei ich die Klasse „valid“ hier für überflüssig halte. Entweder es ist nichts oder etwas Korrektes eingetragen, oder das Eingegebene ist fehlerhaft. Ein Feld, in dem noch nichts steht als „gültig“ zu klassifizieren erscheint mir ein wenig merkwürdig.
Wo wird denn ein leeres Feld als "gültig" klassifiziert? Ich habe die Beschreibung im Ausgangsposting so verstanden, daß erst *nach* dem Abschicken eine solche Markierung vorgenommen werden soll.
Hallo Blaubart.
Wobei ich die Klasse „valid“ hier für überflüssig halte. Entweder es ist nichts oder etwas Korrektes eingetragen, oder das Eingegebene ist fehlerhaft. Ein Feld, in dem noch nichts steht als „gültig“ zu klassifizieren erscheint mir ein wenig merkwürdig.
Wo wird denn ein leeres Feld als "gültig" klassifiziert? Ich habe die Beschreibung im Ausgangsposting so verstanden, daß erst *nach* dem Abschicken eine solche Markierung vorgenommen werden soll.
OK, Missverständnis meinerseits. Dennoch sehe ich eine gesonderte Klassifizierung der korrekten Eingabefelder auch nach dem Absenden nicht als sinnvoll an.
Einen schönen Donnerstag noch.
Gruß, Mathias
Tach.
Dennoch sehe ich eine gesonderte Klassifizierung der korrekten Eingabefelder auch nach dem Absenden nicht als sinnvoll an.
Ja, ich auch nicht. Nur fehlerhafte Einträge zu kennzeichnen, reicht meiner Meinung nach völlig aus.
Die Idee mit der css gefällt mir, leider bekomme ich es nicht hin
input.valid {
background-color: #0f0;
}
input.invalid {
background-color: #f00;
}
Woe prüfe ich die Richtigkeit, und wie müsste die input-Zeile dann aussehen?
GR
Tach.
Woe prüfe ich die Richtigkeit, und wie müsste die input-Zeile dann aussehen?
Genau an der gleichen Stelle wie vorher auch. Um bei deinem Ausgangsbeispiel zu bleiben:
<?php
printf('<input type="text" class="%s" value="%s">',
[link:http://www.phpbar.de/w/Ternary-Operator@title=($e_a == 10) ? "valid" : "invalid"], $e_a);
?>