Explorateur firefox qui tourne à vide!

Résolu
joduak Messages postés 194 Date d'inscription lundi 11 juillet 2005 Statut Membre Dernière intervention 13 avril 2007 - 13 août 2005 à 17:41
joduak Messages postés 194 Date d'inscription lundi 11 juillet 2005 Statut Membre Dernière intervention 13 avril 2007 - 16 août 2005 à 10:43
Salut à vous!
Savez vous résoudre mon pb n°1 explicité ici : http://www.javascriptfr.com/forum.v2.aspx?ID=535348
-Mon explorateur firefox tourne à vide à chaque fois que je lance cette fonction.
-Et d'ailleurs si j'enlève la ligne document.write(valeur) je n'ai plus aucun résultat.
2 points super bizarres...

Comme j'ai accepté la réponse pour mon pb n°2 me suis dit que vous n'iriez plus voir, je me permets de remettre une annonce comme je n'ai toujours pas trouvé de réponse!!

Je vous remercie d'avance!
Jo

6 réponses

GhislainLavoie Messages postés 289 Date d'inscription vendredi 11 mars 2005 Statut Membre Dernière intervention 3 avril 2008 3
14 août 2005 à 16:29
Salut!

J'ai fait quelques modifications. J'ai remplacer la boucle php par une bouble js. Si tu préfère en php, ça ne dérenge en rien la fonctionnalité.


<html>
<head>
<title>Untitled</title>
</head>

----

width=
"134"
height=
"51"
class=
"StyleEtiquette">Nb. de personnes*
,

&nbsp;
<select name=
"Nbre_personne" size=
"1" id=
"nb_pers" onChange=
"mafonction(this.value)">
<option selected=
"selected" value=
"0">...choisir</option>

<script language="JavaScript">

var nbre_voiture_total
=5;

var nbre_place
=3;

var nbre_personne_max
= nbre_voiture_total
* nbre_place;

for(t
=2;t
<nbre_personne_max;t
++)
{

if(t
<=nbre_personne_max
)
{
document
.write
('
<option value
="'+t+'">'
+t
+'
</option
>'
);

}

}

</script>
</select>

<script language="JavaScript">

function mafonction
(valeur
)
{
selAuto
= document
.getElementById
("nb_voiture");
selAuto
.length
=
1;
nbre_personne
=eval
(valeur
);
//Les voitures accueillent jusqu'à 3 places.

if(nbre_personne
<= nbre_personne_max
&& nbre_personne
>
0)
{
min_auto
= Math
.round
((nbre_personne
+nbre_personne
%nbre_place
)/nbre_place
);
max_auto
= Math
.floor
(nbre_personne
/2);

for
(var i
= min_auto
, j
=0; i
<= max_auto ; i
++,j
++)

{
elOp
= document
.createElement
("option");
elOp
.innerHTML
= i;
elOp
.value
= i;
selAuto
.appendChild
(elOp
);

}

}

}

</script>

, width=
\"224\"
class=
\"StyleEtiquette\"
align=
\"left\">Nb. de voiture(s)*
<select name=
\"Nombre_voiture\" size=
\"1\" id=
\"nb_voiture\">
<option selected=
\"selected\">...choisir</option>
</select>
</td>

</html>

A+, Ghislain
3
GhislainLavoie Messages postés 289 Date d'inscription vendredi 11 mars 2005 Statut Membre Dernière intervention 3 avril 2008 3
13 août 2005 à 18:03
Salut!

Le problème c'est que tu utilises un document.write après que la page soit terminé de chargé. C.a.d. que tu reset la page en fesant celà. Si tu ne fait que des tests, affiche tes résultat dans des alert("message : "+qqchose);

Sinon, utilise des divs pour afficher le contenu a l'écran.

var monDiv = document.createElement("div");
monDiv.innerHTML = "mon message : " + qqchose;
document.body.appendChild(monDiv);

Y'a d'autre solution, mais ça dépend ce que tu veux faire...

A+, Ghislain
0
joduak Messages postés 194 Date d'inscription lundi 11 juillet 2005 Statut Membre Dernière intervention 13 avril 2007
13 août 2005 à 18:21
en fait je veux qu'une fois le client choisit le nbre de personne dans un menu déroulant, que 'mafonction' JS me calcule directement les différentes nombres de voiture à proposer (valeurs contenues dans mon tableau affichage_voiture) sans changer de page internet.
Et je suis dessus depuis qq jours, je suis débutant et je galère comme un fou lol.

Voilà mon code de mon body le tout étant dans un seul <form>

<td width="134" height="51" class="StyleEtiquette">Nb. de personnes*</td>
<td>&nbsp;
<select name="Nbre_personne" size="1" id="nb_pers" onChange="mafonction(this.value)">
<option selected="selected" >...choisir</option>
<?php
$nbre_voiture_total=5;
for($t=2;$t<3*$nbre_voiture_total;$t++) {
if($t<=3*$nbre_voiture_total) {
echo '<option value='.$t.'>'.$t.'</option>';
}
}
?>
</select>

<script language="JavaScript">
function mafonction(valeur) {
nbre_personne=valeur;
nbre_voiture_total=5;
//Les voitures accueillent jusqu'à 3 places.
nbre_place=3;
nbre_personne_max=nbre_voiture_total*nbre_place;
if(nbre_personne <= nbre_personne_max) {
nbre_personne=nbre_personne/2;
entier_inferieur=Math.floor(nbre_personne);
affichage_voiture = new Array();
affichage_voiture[0]=entier_inferieur;
i=1;
//1er cas : Si $nre_personne/2 est un nombre entier alors entier_inferieur=nbre_personne
if(entier_inferieur == nbre_personne) {
while(nbre_personne >= nbre_place) {
nbre_personne=nbre_personne-nbre_place;
affichage_voiture[i]=affichage_voiture[i-1]-1;
i++;
}
}
//2eme cas : Sinon c'est un nbre à virgule
else {
while(entier_inferieur > nbre_place) {
entier_inferieur=entier_inferieur-nbre_place;
affichage_voiture[i]=affichage_voiture[i-1]-1;
i++;
}
}
affichage_voiture=affichage_voiture.sort();
}
}
</script>
<td width="224" class="StyleEtiquette" align="left">Nb. de voiture(s)*
<select name="Nombre_voiture" size="1" id="nb_voiture">
<option selected="selected">...choisir</option>
<script language="JavaScript">
for(t=0;t'+affichage_voiture[t]+'</option>');
}
</script>


</select></td>
</tr>

Voilà si tu peux m'aider, tu serais trop cool!!!!
Merci.
0
joduak Messages postés 194 Date d'inscription lundi 11 juillet 2005 Statut Membre Dernière intervention 13 avril 2007
15 août 2005 à 01:43
Yeahhh Ghislain!
Je viens de voir ton message et de voir si ça marche...
Mais tu es un OUFFFFFF, t'as capté tout ce que je voulais et tout!!!
Je voulais te remercier d'avoir réfléchit dessus, c'est trop cool, tu peux pas savoir comment j'ai galéré!!!!!!!!!!!!!!!
Merci infiniement, tu me sauves une fois de plus!
Je vais plancher sur ton code dès la première heure demain!
Merci encore t un vrai ;) !
Dieu te le rendra en centuple! (pas croyant mais bon...tu m'as compris)
Bonne fin de wk à toi !

Jod
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
GhislainLavoie Messages postés 289 Date d'inscription vendredi 11 mars 2005 Statut Membre Dernière intervention 3 avril 2008 3
16 août 2005 à 00:02
Salut!

Ce fût un plaisir de t'aider!!!

Juste pour te dire de ne pas tenir compte de la variable j dans la deuxième boucle for. Elle ne sert a rien, c'étais utilisé lors mes tests.

Donc :
for
(var i
= min_auto
; i
<= max_auto ; i
++)
au lieu de
for (var i = min_auto, j=0; i <= max_auto ; i++,j++)

A+, Ghislain
0
joduak Messages postés 194 Date d'inscription lundi 11 juillet 2005 Statut Membre Dernière intervention 13 avril 2007
16 août 2005 à 10:43
Yes merci j'avais vu, j'ai pas tout capté à ton code mais ça j'avais vu. lol

Merci de ta gentillesse encore une fois!

:)



Jo
0
Rejoignez-nous