[js]kleur van tekst veranderen bij verkeerde waarde

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Paultje3181
  • Registratie: November 2002
  • Laatst online: 08:43
Ik ben bezig met een document waarin een waarde gecheckt dient te worden met een aantal referentie waarden. Nu wil ik als de waarde buiten de referenties valt dat deze roodgekleurd wordt.

Hoe kan ik dit in javascript voor elkaar krijgen? Ik denk dat dit kan via styles en textColor="ff0000" maar hoe ik dit nu precies als actie kan krijgen?

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<script type="text/javascript">
// Dit zijn de mogelijke uitkomsten van de controle op referentiewaarden.
lab_a = "Verlaagd"
lab_b = "Verhoogd"
lab_c = "Niet bepaald"
lab_d = "Glucose Accoord"
 
function checkReferentie(form) 
{
// Dit zijn de controles op de referentiewaarden. Hierin staan de referentiewaarden.
var glucose = parseFloat(form.elements['labglucose1'].value);
    if (glucose < 3.0 && glucose >= 0) 
        form.elements['labglucose2'].value = lab_a; 
    else if (glucose >= 3.0 && glucose <= 7.7) 
        form.elements['labglucose2'].value = lab_d; 
    else if (glucose > 7.7)
    form.elements['labglucose2'].value = lab_b;
    else 
        form.elements['labglucose2'].value = lab_c; 

} 
</script>

als de actie lab_a en de actie lab_b aangeroepen worden moet de kleur dus veranderen naar rood.

Enig idee hoe ik dit voor elkaar kan krijgen? Ik heb al geprobeerd om een style aan te maken met rode tekst en dan de variabele die style te geven maar dat werkt niet. ( met "form.elements['labglucose2'].value = "<h5>"+lab_a+"</h5>";")

[ Voor 6% gewijzigd door Paultje3181 op 02-01-2007 08:59 ]


Acties:
  • 0 Henk 'm!

Verwijderd

form.elements['labglucose2'].style.color = '#FF0000';

Acties:
  • 0 Henk 'm!

  • Helmet
  • Registratie: Januari 2002
  • Laatst online: 21-08 15:00
document.forms['formnaam'].denaamvanjeinput.className = 'classrood';

[ Voor 14% gewijzigd door Helmet op 02-01-2007 08:31 ]

Icons are overrated


Acties:
  • 0 Henk 'm!

  • André
  • Registratie: Maart 2002
  • Laatst online: 23-09 13:47

André

Analytics dude

Je kunt een javascript variabele geen style geven, je zult een element om de tekst heen moeten zetten die je vervolgens weer kunt stylen. In jouw geval kun je ook het element labglucose2 een style geven:
JavaScript:
1
form.elements['labglucose2'].style.color = "#FF0000";

Acties:
  • 0 Henk 'm!

  • Paultje3181
  • Registratie: November 2002
  • Laatst online: 08:43
Dan krijg je dus een extra regel erbij. Maar ik krijg nu altijd een rode kleur. En dat is dus niet de bedoeling. Wat mis ik hier dan?

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var glucose = parseFloat(form.elements['labglucose1'].value);
    if (glucose < 3.0 && glucose >= 0) 
    {
        form.elements['labglucose2'].value = lab_a;
    form.elements['labglucose2'].style.color = "#FF0000"; 
    }
    else if (glucose >= 3.0 && glucose <= 7.7) 
        form.elements['labglucose2'].value = lab_d; 
    else if (glucose > 7.7)
    {
    form.elements['labglucose2'].value = lab_b;
    form.elements['labglucose2'].style.color = "#FF0000";
    }
    else 
        form.elements['labglucose2'].value = lab_c;

Acties:
  • 0 Henk 'm!

  • esf
  • Registratie: Juni 2002
  • Laatst online: 21-02 08:56

esf

Je moet de kleur nog terugzetten op de oude kleur in de gevallen dat de kleur niet op rood wordt gezet

The hardest thing in the world to understand is the income tax. - Albert Einstein


Acties:
  • 0 Henk 'm!

  • Paultje3181
  • Registratie: November 2002
  • Laatst online: 08:43
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var glucose = parseFloat(form.elements['labglucose1'].value);
    if (glucose < 3.0 && glucose >= 0) 
    {
        form.elements['labglucose2'].value = lab_a;
    form.elements['labglucose2'].style.color = "#FF0000"; 
    }
    else if (glucose >= 3.0 && glucose <= 7.7)
    {
        form.elements['labglucose2'].value = lab_d; 
    form.elements['labglucose2'].style.color = "#000000"; 
    }
    else if (glucose > 7.7)
    {
    form.elements['labglucose2'].value = lab_b;
    form.elements['labglucose2'].style.color = "#FF0000";
    }
    else 
        {
    form.elements['labglucose2'].value = lab_c; 
    form.elements['labglucose2'].style.color = "#000000"; 
    }

werkt in firefox, maar niet in Internet Explorer, terwijl het wel valid html is. Blijkbaar kan IE er niet helemaal goed mee omgaan? Of heb ik nou nog een foutje gemaakt? Als IE een form field disabled kan er dus blijkbaar helemaal niets meer mee gebeuren. Blijkbaar overruled de disabled functie op de labglucose2 de kleurverandering.

Met readonly in plaats van disabled werkt het ook in IE, maar dan kan de knop nog steeds geselecteerd worden. Is er nog een optie dat dat ook uitgeschakeld wordt? De combinatie readonly tabindex="-1" does the trick :D alleen vindt de html validator dat dit niet mag. Dit terwijl volgens http://www.handleidinghtml.nl/html/elementen/input.html de waarde ook -1 mag zijn? In XHTML mag dit wel, in HTML 4.01 niet. Ik heb alles dus maar omgezet naar XHTML....

[ Voor 30% gewijzigd door Paultje3181 op 02-01-2007 10:37 ]

Pagina: 1