Problème fonction JavaScript

Fermé
ladinho58 - 11 janv. 2012 à 11:17
 le père - 11 janv. 2012 à 15:27
Bonjour,

Je vous sollicite car j'ai quelques problèmes avec JavaScript et une fonction que je souhaite créer.

J'ai un formulaire disposé en ligne qui contient des entiers int (ils sont au nombre de 5). Je souhaiterai que si l'utilisateur modifie l'une de ces valeurs, en fonction de la valeur qu'il vient de rentrer, ça modifie ou non les autres valeurs (il faut que les chiffres restent croissants entre eux)

Par exemple : j'ai à la base ces nombres là : 41 - 81 - 81 - 84 - 87
si l'utilisateur modifie le 41 par 85, je veux que le tableau devienne : 85 - 85 - 85 - 85 - 87

Donc voici ma fonction JavaScript qui traite ceci :

<script language="JavaScript">
<!--			
function f()
{
	
	var pte=document.getElementById("in_moyenne_pte").value;
	var hph=document.getElementById("in_moyenne_hph").value;
	var hch=document.getElementById("in_moyenne_hch").value;
	var hpe=document.getElementById("in_moyenne_hpe").value;
	var hce=document.getElementById("in_moyenne_hce").value;
	//alert(pte);
	//alert(hph.value)
	//alert(hch.value)
	//alert(hpe.value)
	//alert(hce.value)
	
	//Pour l'instant je ne traite qu'un seul cas, juste pour voir si le principe fonctionne, mais evidemment ca ne marche pas...

	if (pte>hph && pte< hch)
{	
hph = pte;
}	
	
	}
-->	
</script>


La fonction f() ne rentre même pas dans ma boucle if, j'avais essayé de faire un alert dans la boucle mais il n'est même pas lu. Pourtant, les alert que j'ai créé juste au dessus (qui sont en commentaire) sont bien affichés et ont bien une valeur numérique.

A voir également:

2 réponses

Mihawk Messages postés 4315 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 845
11 janv. 2012 à 11:51
Hello,

Essaye de forcer la conversion en entiers :

       
        var pte = parseInt(document.getElementById("in_moyenne_pte").value);
	var hph = parseInt(document.getElementById("in_moyenne_hph").value);
	var hch = parseInt(document.getElementById("in_moyenne_hch").value);
	var hpe = parseInt(document.getElementById("in_moyenne_hpe").value);
	var hce = parseInt(document.getElementById("in_moyenne_hce").value);

0
Bonjour

Pourtant, les alert que j'ai créé juste au dessus (qui sont en commentaire) sont bien affichés
Tu en es bien sûr ? Car ils sont incorrects. Seul le premier a pu afficher la valeur de pte, les autres n'ont jamais affiché les valeurs de tes champs, ce n'est pas possible car ils comportent plusieurs erreurs.
Donne-nous le code du formulaire et le script qui affiche réellement les valeurs, avec le "alert" dans le test, et dis-nous les valeurs que tu mets pour que nous puissions l'essayer nous aussi.
Car j'ai fait l'essai en mettant moi-même un formulaire et un alert correct, et ça marche.
0