Les Allergies
Alimentaires
Posez votre question Signaler

Erreur objet attendu en html

Moustik' 10Messages postés 20 novembre 2006Date d'inscription - Dernière réponse le 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
Lire la suite 

Erreur objet attendu en html »

5 réponses
Réponse
+0
moins plus
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
Moustik'- 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>
Moustik'- 20 nov. 2006 à 21:39
ca m'enleverai une enorme epine du pied si qqun peut m'aider !
Ajouter un commentaire
Réponse
+0
moins plus
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
Moustik'- 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'
Ajouter un commentaire
Ce document intitulé « erreur objet attendu en html » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?