JeuWeb - Crée ton jeu par navigateur
Problème javascript: Erreur: Objet requis - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Problème javascript: Erreur: Objet requis (/showthread.php?tid=2554)

Pages : 1 2 3 4


RE: Problème javascript: Erreur: Objet requis - barst - 16-07-2008

"title" n'est pas une propriété d'un élément DOM et surtout pas d'un "select"

C'est effectivement "value" qu'il faut prendre.


RE: Problème javascript: Erreur: Objet requis - Raitosan - 16-07-2008

Ok merci^^ mais sa ne fonctionne toujour pas, et puis mozilla me dit sa:
Erreur : uncaught exception: [Exception... "Index or size is negative or greater than the allowed amount" code: "1" nsresult: "0x80530001 (NS_ERROR_DOM_INDEX_SIZE_ERR)" Line: 16"]

voici ma ligne 16(sa marche, mais mozilla me donne quand même une erreur):
nombre2 = document.getElementById('champ7').options[document.getElementById('champ7').selectedIndex].value;

C' est bon, c' était apparement une erreur d' id... Merci à tous pour votre aide Smile


RE: Problème javascript: Erreur: Objet requis - Thumsoul - 16-07-2008

Ah ben tant mieux si ça fonctionne, tu seras pas venu pour rien ^^


RE: Problème javascript: Erreur: Objet requis - Raitosan - 16-07-2008

oui^^ il toujours 2 ou 3 bugs sur IE, mais je vais essayer de me débrouiller^^ merci encore a vous tous^^

Désoler... encore besoin de vous...
voici la nouvelle erreur de IE: Cet objet ne gère pas cette propriété ou cette méthode. Ligne 11

voici la ligne 11: var nombre2 = document.getElementById('champ7').options[document.getElementById('champ7').selectedIndex].value;

et voici l' option du select "champ7": <option value="10" id="1">Knif</option><option value="85" id="2">Glaive</option>

merci pour votre aide, encore^^


RE: Problème javascript: Erreur: Objet requis - Raitosan - 16-07-2008

UP!------------


RE: Problème javascript: Erreur: Objet requis - Shivaan Keldon - 16-07-2008

tout d'abord, tu peux supprimer les id des options. selectedIndex est géré en interne, tu n'as pas la main mise dessus depuis javascript. donc les id sont inutiles

ensuite, essaie de faire un
Code :
alert(document.getElementById("champ7").length);
juste avant le var nombre2 = ...
et vois s'il te retourne bien une valeur supérieure à 0. si ce n'est pas le cas, ça veut dire que ton select est mal alimenté par ton javascript


RE: Problème javascript: Erreur: Objet requis - Raitosan - 16-07-2008

sa renvoi 3 Smile, et, je peut utiliser quoi d' autre que les id? a par les values?
il n' y a que les truc du genre: var choixCategorie = document.getElementById('champ6').options[document.getElementById('champ6').selectedIndex].value;
qui font bugger IE...


RE: Problème javascript: Erreur: Objet requis - Shivaan Keldon - 16-07-2008

peux-tu me montrer le code (copier coller de ta source) pour la balise champs7, stp ? tout le select en entier


RE: Problème javascript: Erreur: Objet requis - Raitosan - 16-07-2008

la fonction JS:
Code PHP :
<?php 
function categories()
{
var
choixCategorie = document.getElementById('champ6').options[document.getElementById('champ6').selectedIndex].value;
switch(
choixCategorie)
{
case
"1":
document.getElementById('champ7').innerHTML = '<option value="10" id="1">Knif</option><option value="85" id="2">Glaive</option><option value="165" id="3">Long Sword</option>';
calcul();
break;
case
"2":
document.getElementById('champ7').innerHTML = '<option value="200" id="1">Aventure Suite</option><option value="750" id="2">Armor</option><option value="3500" id="3">Gold Armor</option>';
calcul();
break;
case
"3":
document.getElementById('champ7').innerHTML = '<option value="150" id="1">Novice Guard</option><option value="480" id="2">Guard</option><option value="2600" id="3">Gold Guard</option>';
calcul();
break;
case
"4":
document.getElementById('champ7').innerHTML = '<option value="264" id="1">Novice Glove</option><option value="562" id="2">Glove</option><option value="2841" id="3">Gold Glove</option>';
calcul();
break;
case
"5":
document.getElementById('champ7').innerHTML = '<option value="246" id="1">Novice Boots</option><option value="554" id="2">Boots</option><option value="2952" id="3">Gold Boots</option>';
calcul();
break;
case
"6":
document.getElementById('champ7').innerHTML = '<option value="798" id="1">Angel Helmet</option><option value="3698" id="2">Gold Helmet</option>';
calcul();
break;
case
"7":
document.getElementById('champ7').innerHTML = '<option value="1500" id="1">Sword Craft</option>';
calcul();
break;
case
"8":
document.getElementById('champ7').innerHTML = '<option value="973" id="1">Double Straff</option>';
calcul();
break;
case
"9":
document.getElementById('champ7').innerHTML = '<option value="1250" id="1">Sonic Blow</option>';
calcul();
break;
case
"10":
document.getElementById('champ7').innerHTML = '<option value="1420" id="1">Fire Bolt</option>';
calcul();
break;
case
"11":
document.getElementById('champ7').innerHTML = '<option value="1600" id="1">Magnum Break</option>';
calcul();
break;
case
"12":
document.getElementById('champ7').innerHTML = '<option value="1035" id="1">Music of Blind</option>';
calcul();
break;
case
"13":
document.getElementById('champ7').innerHTML = '<option value="0.5" id="1">Nourriture</option><option value="0.8" id="2">Fer</option><option value="0.9" id="3">Pierre</option><option value="0.7" id="4">Bois</option><option value="1" id="5">Mana</option>';
calcul();
break;
case
"14":
document.getElementById('champ7').innerHTML = '<option value="7" id="1">Potion1</option><option value="10" id="2">Potion2</option><option value="17" id="3">Potion3</option>';
calcul();
break;
case
"15":
document.getElementById('champ7').innerHTML = '<option value="50" id="1">Jellopy</option>';
calcul();
break;
}
}

et le code html:
Code PHP :
<?php 
<select onchange="javascript:calcul();" id="champ7">
<
option value="10" id="1">Knif</option>
<
option value="85" id="2">Glaive</option>
<
option value="165" id="3">Long Sword</option>
</
select>



RE: Problème javascript: Erreur: Objet requis - Nessper - 16-07-2008

Bonjour,
je viens de relire les 3 pages histoire de bien cerner ton problème mais j'ai pas tout suivi, alors on va faire ça à tâtons ^^.

Tout d'abord, au lieu de
Code PHP :
<?php 
var choixCategorie = document.getElementById('champ6').options[document.getElementById('champ6').selectedIndex].value;
tu pourrais écrire
Code PHP :
<?php 
var choixCategorie = document.getElementById('champ6').value;
ça marche pareil et c'est plus lisible.

Ensuite,
Code PHP :
<?php 
<option value="10" id="1">Knif</option>
tu n'as pas besoin de mettre un id sur les <option>. Quand tu veux connaître la valeur, tu as juste à faire
Code PHP :
<?php 
document
.getElementById('champ6').value

Enfin, au lieu de
Code PHP :
<?php 
document
.getElementById('champ7').innerHTML = '<option value="10" id="1">Knif</option><option value="85" id="2">Glaive</option><option value="165" id="3">Long Sword</option>';
tente ça :
Code PHP :
<?php 
document
.getElementById('champ7').update('<option value="10" id="1">Knif</option><option value="85" id="2">Glaive</option><option value="165" id="3">Long Sword</option>');
Il me semble que l'innerHTML n'est pas très stable, update() est bien mieux.

Tu peux déjà essayer ces différents trucs, je ne dis pas que ça va marcher, mais au moins on sera sûr que le code est bien écrit (car un code qui marche sous Firefox n'est pas forcément bien écrit, le navigateur est très tolérant contrairement à IE)