Erreur objet attendu en html

Fermé
Moustik' Messages postés 10 Date d'inscription lundi 20 novembre 2006 Statut Membre Dernière intervention 5 janvier 2007 - 20 nov. 2006 à 19:23
Moustik' Messages postés 10 Date d'inscription lundi 20 novembre 2006 Statut Membre Dernière intervention 5 janvier 2007 - 21 nov. 2006 à 19:28
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

2 réponses

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 lundi 20 novembre 2006 Statut Membre Dernière intervention 5 janvier 2007
20 nov. 2006 à 21:26
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 lundi 20 novembre 2006 Statut Membre Dernière intervention 5 janvier 2007
20 nov. 2006 à 21:39
ca m'enleverai une enorme epine du pied si qqun peut m'aider !
0
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
21 nov. 2006 à 12:15
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 lundi 20 novembre 2006 Statut Membre Dernière intervention 5 janvier 2007
21 nov. 2006 à 19:28
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