Erreur objet attendu en html

Moustik' Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   -  
Moustik' Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   -
mon probleme est le suivant.
Je programme actuellement un jeu de bandit manchot en HTML.
pour resumé rapidement, j'ai un formulaire ac texte et boutons
j'ai ajouté une partie en javascript avec des fonctions, et des "onClick" sur mes boutons.
mais quand je suis dans IExplorer et que je clique sur mes boutons, j'ai une erreur qui est :
ligne : 0000 // ligne contenant un onClick
car : 1
erreur : objet attendu
code : 0
URL : l'adresse memoire de mon fichier *.html

merci d'avance à celui qui pourra me repondre ;-)
je reste a dispo si il y a besoin de plus de détails
A voir également:

2 réponses

FrancoisR
 
salut

C'est une erreur de synthaxe.
Poste ton code pour qu'on en sache plus, parce que là on peut pas trop te dire pourquoi.

+

Francois
0
Moustik' Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
voici mon code ...

<HTML>
</head>

<body bgcolor="#CC0000">

<script type="text/javascript">

jouer=0;
function entrer(){

if(jouer==0)
{
jouer=1;
apport=prompt('Quelle somme mettez vous en jeu');
document.f.c.value=apport;
}
else
{
alert('vous avez deja une partie en cours');
alert('pour commencer une nouvelle partie veuillez sortir de la salle');
}
}

function sortir(){
sortir=1;
if(jouer==0)
{
alert('Vous n\'etes pas encore entre dans la salle de jeu');
}
else
{
alert('sortie de la salle de jeu');
document.f.c.value=0;
document.f.un.value=0;
document.f.deux.value=0;
document.f.trois.value=0;
document.f.g.value=0;
document.f.m.value=0;
}
}

function plus()
{
while(document.f.m.value<5)
document.f.m.value=document.f.m.value+1;
}


function moins()
{
while(document.f.m.value>2)
document.f.m.value=document.f.m.value-1;
}



function jouer()
{

if(ramasser==1){
document.f.un.value=((Math.random()*8)+1);
document.f.deux.value=((Math.random()*8)+1);
document.f.trois.value=((Math.random()*8)+1);

if((document.f.un.value==document.f.deux.value)&&(document.f.un.value==document.f.trois.value))
gain=document.f.m.value*5;
else{
if ((document.f.un.value==document.f.deux.value)||(document.f.un.value==document.f.trois.value)||(document.f.deux.value==document.f.trois.value))
gain=document.f.m.value*2;
else
gain=0;
}
ramasser=0;
tir=1;
}
else
alert('vous n\'avez pas ramassé votre dernier gain');
}

function ramasser()
{
if (tir==1){ <!on ne peut ramasser que si on a joué>
document.f.g.value=gain;
document.f.c.value=document.f.c.value+document.f.g.value;
tir=0;
ramasser=1;
}
else
alert('vous n\'avez pas joué');
}

</script>

<form name="f">
<h1 align="center">Le bandit Manchot</h1><br>
<p align="center">
<u>Règlement : </u><br>
Quand on obtient deux chiffres identiques, on remporte 2 fois sa mise<br>
Quand on obtient trois chiffres identiques, on remporte 5 fois sa mise<br>
La mise doit etre comprise entre 1 et 5.</p>
<br><br>

<table border="0" bgcolor="#FF0000" align=center>

<tr><td> <input type="button" name="e" onClick="entrer();" value="entrer" ></td>
<td> <input type="button" onClick="sortir();" name="s" value="sortir" ></td></tr>

<tr><td>cagnote <input name="c" value="" onfocus ="document.forms.f.c.blur()" size="4" type="text"></td> <!avec onfocus ="document.forms.f.name.blur()" on bloque l'ecriture dans la case>
<td>mise <input name="m" value="0" onfocus ="document.forms.f.m.blur()" maxlength="1" size="2" type="text">
<input name="-" value="-" onClick = "plus();" type="button">
<input name="+" value="+" onClick = "moins();" type="button"></td>
</tr>

<tr>
<td><input name="j" value="jouer" onClick="jouer();" type="button"><input name="un" value="-" onfocus ="document.forms.f.un.blur()" maxlength="1" size="1" type="text">
<input name="deux" value="-" onfocus ="document.forms.f.deux.blur()" maxlength="1" size="1" type="text">
<input name="trois" value="-" onfocus ="document.forms.f.trois.blur()" maxlength="1" size="1" type="text"></td>
<td>gain : <input name="g" value="" onClick="ramasser();" onfocus ="document.forms.f.g.blur()" maxlength="4" size="4" type="text">
<input name="r" value="ramasser" type="button"></td></tr>

</table>

</form>

</body>
</html>
0
Moustik' Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
ca m'enleverai une enorme epine du pied si qqun peut m'aider !
0
Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
Bonjour,

Bon, déjà, ce n'est pas le problème, mais pour empêcher d'écrire dans une case, tu peux mettre des disabled plutôt que ton astuce. Ou alors, si tu tiens à utiliser le onfocus, mets plutôt onfocus = "this.blur()" , c'est quand même plus simple.

Ensuite, tes commentaires ne sont pas bien formés !
En html, <!blabla> n'est pas un commentaire. Il faut mettre <!--blabla-->
En Javascript, les commentaires ne s'écrivent pas <!blabla> non plus, mais //blabla ou alors /*blabla*/ (si plusieurs lignes de comentaires)
Déjà, en modifiant tout ça, ce sera plus propre.

Par ailleurs, ta façon d'accéder aux éléments du formulaire n'est pas vraiment valide, et ne sera pas reconnue par d'autres navigateurs que IE. Il vaut mieux leur attribuer un ID (que tu peux mettre à la même valeur que le NAME : ID = "deux", ...)
Ensuite, accède à tes éléments comme ceci :
document.getElementById("deux").value = "truc";

Voilà, avec tout ça, ça devrait aller mieux...

Xavier
0
Moustik' Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

tout d'abord merci beaucoup pour ton aide
merci pour disabled, c vraiment moins long a ecrire !

pour le passage par l'ID, ca marche bien merci

Mais j'ai maintenant d'autre problemes, pourrais tu encore m'aider.
Quand je modifie dans mes fonctions une valeurs qui est dans le formulaire, j'ai une erreur
code : apport=prompt('Quelle somme mettez vous en jeu');
document.getElementById("c").value=apport;
entre autre

l'erreur affichée est : car=3
erreur =document.getElementById() a la valeur null ou n'est pas un objet

encore merci

Moustik'
0