Amélioration d'une fonction
Posté : 29 nov. 2007, 19:55
Bonjour,
N'étant pas un expert, je voulais savoir si ma fonction JS ne pouvait (devait) pas être amélioré ... voici mon code:
Et mon code PHP pour voir vers quoi cela renvoie:
N'étant pas un expert, je voulais savoir si ma fonction JS ne pouvait (devait) pas être amélioré ... voici mon code:
Code : Tout sélectionner
function calcVitesse(){
var tempsTab = document.forms.adminForm.temps.value.split(':');
var kilometrage = document.forms.adminForm.kilometrage.value;
var temps = 0;
for(i = 0; i < tempsTab.length; i++){
// Conversion de la valeur en entier
var t = parseInt(tempsTab[i]);
// Teste si la valeur est un chiffre
if(isNaN(t)){
alert('Seuls les chiffres sont acceptés');
return(false);
}
// Teste si les minutes et (ou) les secondes sont comprises entre 0 et 59
if(i != 0 && tempsTab[i] > 59){
alert('Les minutes ou les secondes ne peuvent exéder 59');
return(false);
} else {
// Cumul du temps
heure = ( Number( tempsTab[0] ) * 3600);
minute = ( Number( tempsTab[1] ) * 60 );
seconde = ( Number( tempsTab[2] ));
temps = heure + minute + seconde;
moy = (temps / kilometrage);
moyH = (Math.floor(moy/3600));
moyM = (Math.floor((moy - (moyH * 3600))/60));
moyS = (Math.floor(moy - ((moyH * 3600) + (moyM * 60))));
moyH = (moyH < 10) ? '0' + moyH : moyH ;
moyM = (moyM < 10) ? '0' + moyM : moyM ;
moyS = (moyS < 10) ? '0' + moyS : moyS ;
moyenne = moyH + ':' + moyM + ':' + moyS;
vitesse = (Math.floor((kilometrage / (temps / 3600))*1000))/1000;
//alert ('moyenne ' + moyenne);
document.forms.adminForm.moyenne.readonly = false;
document.forms.adminForm.moyenne.value = moyenne;
document.forms.adminForm.moyenne.readonly = true;
document.forms.adminForm.vitesse.readonly = false;
document.forms.adminForm.vitesse.value = vitesse;
document.forms.adminForm.vitesse.readonly = true;
}
}
}
<td>
<?php
if ($class->temps == ''){
$temps = '00:00:00';
} else {
$temps = $class->temps;
}
?>
<input name="temps" type="text" id="temps" onBlur="calcVitesse();" value="<?php echo $temps;?>" size="8" maxlength="8"/>
</td>
<td>
<?php
if ($class->moyenne == ''){
$moyenne = '00:00:00';
} else {
$moyenne = $class->moyenne;
}
?>
<input name="moyenne" type="text" id="moyenne" value="<?php echo $moyenne;?>" size="8" maxlength="8"/>
</td>
<td><input name="vitesse" type="text" id="vitesse" value="<?php echo $class->vitesse;?>"/></td>
Merci pour vos conseils