11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

j'aimerai que si un un champ de formulaire contient un nombre, une petit croix verte s'affiche si non une croix rouge


function frmPrice(obj,id) {
    if (isFinite(obj.value)) { //si est un nombre
        document.getElementById(id+'_tick').style.display = "visible"; avec l'image de ma croix verte deviens visible
    }
    else { //sinon celle de la croix rouge
        document.getElementById(id+'_cross').style.display = "visible";
    }      
}



<form name="form" methode="post" action="#"
    <p>
        <label for="item_price">Actual price</label>
        <input type="text" name="item_price" id="item_price" value="<?php if (isset($data))echo $data['item_price'] ?>" [#darkred]onBlur="frmPrice(this,id);[/#]" />
        <img src="images/tick.png" alt="" id="item_price_tick" style="display: none;" /><img src="images/cross.png" alt="" id="item_price_cross" style="display: none;" />
    </p>
</form>




voilà merci d'avance
Modérateur
Salut, Smiley smile

Il ne faut pas chercher à afficher/masquer tes images mais plutôt n'insérer que l'image souhaitée car, à titre d'exemple, un utilisateur ne disposant pas des styles CSS se retrouvera avec les deux images visibles d'entrée de jeu.

Il sera aussi important de renseigner les attributs alt afin que chacun ait accès à l'information transmise par ces croix.

Enfin, je te conseille de différencier ces deux images par autre chose que la couleur; ça ne suffit pas pour qu'une personne souffrant d'une déficience visuelle puisse accéder à l'information.
heu oui lol

la question pourquoi ça ne marche pas !

je vais prendre en considération les remarque de koala64, je riens cette apres midi à toute
en fait l'un est une croix rouge l'autre le signe qui veux dire 'validé' en vert (je ne sais pas comment on l'appelle, ça ressemble à un 'V')

maintenant pour inséré du html avec javascript, je dois passé par le DOM.

je vais donc me penché sur cette voie, par contre j'aimerai si possible avoir une correction pour le javascript, ca me sera très utile dans l'avenir.

merci