Transformer un PHP en JS
Résolu/Fermé
Templier Nocturne
Messages postés
7734
Date d'inscription
jeudi 22 janvier 2009
Statut
Membre
Dernière intervention
21 mai 2016
-
19 juin 2009 à 02:12
Templier Nocturne Messages postés 7734 Date d'inscription jeudi 22 janvier 2009 Statut Membre Dernière intervention 21 mai 2016 - 20 juin 2009 à 01:47
Templier Nocturne Messages postés 7734 Date d'inscription jeudi 22 janvier 2009 Statut Membre Dernière intervention 21 mai 2016 - 20 juin 2009 à 01:47
A voir également:
- Transformer un PHP en JS
- Easy php - Télécharger - Divers Web & Internet
- Transformer majuscule en minuscule word - Guide
- Transformer image en icone - Guide
- Transformer un pdf en word gratuit - Guide
- Transformer epub en kindle - Guide
10 réponses
Salut,
Tu peux réecrir tes fonctions en Js(ça diffère quasiment pas),concernant le formulaire tu peux faire quelque chose du genre
function res()
{
return document.getElementByid('tonid').value
}
<a href="#" onclick="res()">Calcul</a>
tu met l'id correspondant à tes champs de texte(<input id="tonid"...)
Tu peux aussi faire si ça marche pas
document.nomdetonform.tonid.value
En tous cas le principe marchera,après à toi de stoquer ça dans des variables comme tu le désire.A+
Tu peux réecrir tes fonctions en Js(ça diffère quasiment pas),concernant le formulaire tu peux faire quelque chose du genre
function res()
{
return document.getElementByid('tonid').value
}
<a href="#" onclick="res()">Calcul</a>
tu met l'id correspondant à tes champs de texte(<input id="tonid"...)
Tu peux aussi faire si ça marche pas
document.nomdetonform.tonid.value
En tous cas le principe marchera,après à toi de stoquer ça dans des variables comme tu le désire.A+
hamzafes
Messages postés
243
Date d'inscription
lundi 26 juin 2006
Statut
Membre
Dernière intervention
4 mai 2013
54
19 juin 2009 à 11:18
19 juin 2009 à 11:18
tu définis les mêmes fonctions en javascript, la syntaxe est presque la même (il suffit d'enlever les $ je crois)
au chargement de la page tu appels t'es fonctions.
Code
<form action="#" method="post">
a = <input type="text" id="a" onKeyUp="mettreAJour()" /><br />
b = <input type="text" id="b" onKeyUp="mettreAJour()" /><br />
c = <input type="text" id="c" onKeyUp="mettreAJour()" /><br />
resultat = <input type="text" id="resultat" /><br />
</form>
<script language="javascript">
function factorielle(valeur){
fact = 1;
for(i = 1; i <= valeur; i++)
fact *= i;
return fact;
}
function combinaison(k, n){
return (factorielle(n) / (factorielle(k) * factorielle(n - k)));
}
function calculer(a, b, c){
resu = 0;
for(k = c + 1; k <= b; k++){
temp = combinaison(k, b);
temp *= Math.pow((1/a), k);
temp *= Math.pow((1 - 1/a), b - k);
resu += temp;
}
resu = resu * 100;
resu = 100 - resu;
return Math.round(resu,3);
}
function mettreAJour()
{
a=document.getElementById("a").value;
b=document.getElementById("b").value;
c=document.getElementById("c").value;
document.getElementById("resultat").value=calculer(a,b,c);
}
</script>
Allah mo3ine
au chargement de la page tu appels t'es fonctions.
Code
<form action="#" method="post">
a = <input type="text" id="a" onKeyUp="mettreAJour()" /><br />
b = <input type="text" id="b" onKeyUp="mettreAJour()" /><br />
c = <input type="text" id="c" onKeyUp="mettreAJour()" /><br />
resultat = <input type="text" id="resultat" /><br />
</form>
<script language="javascript">
function factorielle(valeur){
fact = 1;
for(i = 1; i <= valeur; i++)
fact *= i;
return fact;
}
function combinaison(k, n){
return (factorielle(n) / (factorielle(k) * factorielle(n - k)));
}
function calculer(a, b, c){
resu = 0;
for(k = c + 1; k <= b; k++){
temp = combinaison(k, b);
temp *= Math.pow((1/a), k);
temp *= Math.pow((1 - 1/a), b - k);
resu += temp;
}
resu = resu * 100;
resu = 100 - resu;
return Math.round(resu,3);
}
function mettreAJour()
{
a=document.getElementById("a").value;
b=document.getElementById("b").value;
c=document.getElementById("c").value;
document.getElementById("resultat").value=calculer(a,b,c);
}
</script>
Allah mo3ine
Templier Nocturne
Messages postés
7734
Date d'inscription
jeudi 22 janvier 2009
Statut
Membre
Dernière intervention
21 mai 2016
1 103
19 juin 2009 à 13:49
19 juin 2009 à 13:49
merci pour votre aide :)
hamzafes, je ne comprend pas, ton script ne donne pas les mêmes résultats que le mien :S
exemple, pour a=15,b=100 et c=2, je devrais obtenir 3.368 pourtant j'ai 100, j'ai regardé dans ton script mais je n'ai pas trouvée l'erreur :(
hamzafes, je ne comprend pas, ton script ne donne pas les mêmes résultats que le mien :S
exemple, pour a=15,b=100 et c=2, je devrais obtenir 3.368 pourtant j'ai 100, j'ai regardé dans ton script mais je n'ai pas trouvée l'erreur :(
hamzafes
Messages postés
243
Date d'inscription
lundi 26 juin 2006
Statut
Membre
Dernière intervention
4 mai 2013
54
19 juin 2009 à 15:46
19 juin 2009 à 15:46
1- Remplaces la fonction mettreAJour par :
function mettreAJour()
{
a=parseFloat(document.getElementById("a").value);
b=parseFloat(document.getElementById("b").value);
c=parseFloat(document.getElementById("c").value);
document.getElementById("resultat").value=calculer(a,b,c);
}
2- Remplaces la ligne "return Math.round(resu,3)" par
return resu.toFixed(3);
Allah mo3ine
function mettreAJour()
{
a=parseFloat(document.getElementById("a").value);
b=parseFloat(document.getElementById("b").value);
c=parseFloat(document.getElementById("c").value);
document.getElementById("resultat").value=calculer(a,b,c);
}
2- Remplaces la ligne "return Math.round(resu,3)" par
return resu.toFixed(3);
Allah mo3ine
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Templier Nocturne
Messages postés
7734
Date d'inscription
jeudi 22 janvier 2009
Statut
Membre
Dernière intervention
21 mai 2016
1 103
19 juin 2009 à 23:05
19 juin 2009 à 23:05
\o/fantastique, merci beaucoup hamzafes !!!! \o/
Templier Nocturne
Messages postés
7734
Date d'inscription
jeudi 22 janvier 2009
Statut
Membre
Dernière intervention
21 mai 2016
1 103
19 juin 2009 à 23:16
19 juin 2009 à 23:16
par contre j'ai encore un problème que j'avais espérer résoudre avec JS... si b>170, le résultat est toujours "NaN" comment résoudre ce problème :/
hamzafes
Messages postés
243
Date d'inscription
lundi 26 juin 2006
Statut
Membre
Dernière intervention
4 mai 2013
54
20 juin 2009 à 00:24
20 juin 2009 à 00:24
Tu peux vérifier les valeurs de a, b et c avant de faire le calcule, dans l'exemple ci-dessous si a ou b ou c est négatif alors j'affiche 0 sinon je calcule. C'est à toi de faire la condition qui te conviens.
Exemple:
function mettreAJour()
{
a=parseFloat(document.getElementById("a").value);
b=parseFloat(document.getElementById("b").value);
c=parseFloat(document.getElementById("c").value);
if(a<0 || b<0 || c<0)
document.getElementById("resultat").value=0;
else
document.getElementById("resultat").value=calculer(a,b,c);
}
Allah mo3ine
Exemple:
function mettreAJour()
{
a=parseFloat(document.getElementById("a").value);
b=parseFloat(document.getElementById("b").value);
c=parseFloat(document.getElementById("c").value);
if(a<0 || b<0 || c<0)
document.getElementById("resultat").value=0;
else
document.getElementById("resultat").value=calculer(a,b,c);
}
Allah mo3ine
Templier Nocturne
Messages postés
7734
Date d'inscription
jeudi 22 janvier 2009
Statut
Membre
Dernière intervention
21 mai 2016
1 103
20 juin 2009 à 01:07
20 juin 2009 à 01:07
nan, c'est pas un problème de condition, tout les nombres inférieurs à 170 fonctionnent mais à partir de 171, les résultat est NaN de même en PHP... je voudrais savoir comment faire pour qu'il prenne mes factorielles au dessus de 170
hamzafes
Messages postés
243
Date d'inscription
lundi 26 juin 2006
Statut
Membre
Dernière intervention
4 mai 2013
54
20 juin 2009 à 01:38
20 juin 2009 à 01:38
170! est égale à 7.25741561531E+306 je pense pas que la mémoire peut supporter plus que ça.
Templier Nocturne
Messages postés
7734
Date d'inscription
jeudi 22 janvier 2009
Statut
Membre
Dernière intervention
21 mai 2016
1 103
20 juin 2009 à 01:47
20 juin 2009 à 01:47
:S
quelqu'un sait insérer un script python dans une page web :D
quelqu'un sait insérer un script python dans une page web :D