Calcul dynamique dans un formulaire à l'aide de jquery
rustaflyx
Messages postés23Date d'inscriptionvendredi 4 mai 2012StatutMembreDernière intervention12 mars 2021
-
18 juin 2013 à 14:16
cs_AlexN
Messages postés694Date d'inscriptionlundi 5 décembre 2005StatutMembreDernière intervention 8 janvier 2014
-
18 juin 2013 à 16:05
Bonjour la communauté, je suis un débutant en jquery et je suis dans une impasse depuis un bout de temps. Je souhaite effectuer des calculs avec les données contenues dans les champs d'un formulaire à l'aide de jquery et faire en sorte que les résultats s'aftichent automatiquement au fur et à mesure que les données sont saisies. J'ai besoin que quelqu'un examine mon code que voici et m'en propose une correction. Merci d'avance
Voici le code:
$(document).ready(function(){
$('#donne').each(function(){ //selection du formulaire
$(this).find("tr#page3 input").on('keyup', function(){
var tsec = parseFloat($('#donne').find('#sec').val());//récupération des valeurs qui serviront de données de calcul
var moui = parseFloat($('#donne').find('#moui').val());
var t12 = parseFloat($('#donne').find('#t12').val());
var tbaro = parseFloat($('#donne').find('#tbaro').val());
var pres = parseFloat($('#donne').find('#pres').val());
var corins = 0.14;//json.corins,//correction instrumentale
z = 246; //json.altitudestation,//altitude de la station
lat = 9.333;//json.lat;//latitude de la station
var rad = lat*2*Math.PI/360;
var gravite_mer = 9.80616*(1 - 0.0026373*Math.cos(2*rad) + 0.0000059*Math.pow(Math.cos(2*rad), 2));
var gravite = gravite_mer - (0.000003086*z);
var prestat = (pres*0.1 + corins)*((1 + 0.0000184*tbaro*0.1)/(1 + 0.0001818*tbaro*0.1))*(gravite/9.80665);
var t = (tsec + t12)/20;
var i = 6.1078*Math.pow(10,((7.63*moui*0.1)/(241.9 + moui*0.1)));
var ew = 6.1078*Math.pow(10,((7.5*tsec*0.1)/(241.9 + tsec*0.1)));//calcul de la tension de vapeur saturante
var e = i-(0.00079*prestat*(tsec - moui)*0.1); //calcul de la tension partielle de vapeur
var td = (241.9*Math.log(e/6.1078))/(7.63*Math.log(10)-Math.log(e/6.1078));//calcul de la température du point de rosée
var u = (100*e)/ew;//calcul de l'humidité
// $rw = (0.622*$ew)/($prestat-$ew);
// $r = (0.622*$e)/($prestat-$e);
var hp = (1/9.8)*(gravite_mer - 0.000003086*z/2)*z;
var m = Math.pow(10, (Math.log(prestat)/Math.log(10) + (0.0148275*hp)/(t + 273.15 + (0.0065/2)*hp + 0.12*e)));
td=Math.round(td*10)/10;
u=Math.round(u);
e=Math.round(e*10)/10;
t=Math.round(t*10)/10;
//remplissage les champs de resultat
$('#donne').find('#td').text(td);
$('#donne').find('#hum').text(u);
$('#donne').find('#tens').text(e);
$('#donne').find('#t_12').text(t);
prestat=Math.round(prestat*10)/10;
m=Math.round(m*10)/10;
$('#donne').find('#pstat').text(prestat);
$('#donne').find('#pmer').text(m);
});
});
});
cs_AlexN
Messages postés694Date d'inscriptionlundi 5 décembre 2005StatutMembreDernière intervention 8 janvier 201419 18 juin 2013 à 16:05
??
Parce qu'en plus de te proposer des corrections, il faut qu'on devine ce qui ne fonctionne pas ?
Il faut aussi deviner s'il y a eu une erreur et deviner le message d'erreur que tu as pu lire sur ta console ?
C'est la loose quand même.