[javascript] Euhh... Probleme avec new Array()

Fermé
BastOOn - 9 sept. 2003 à 18:32
 BastOOn - 10 sept. 2003 à 15:49
Bonjour !
ben voila je pige pas trop j'ai un bug donz j'ignore completement l'existence.
je sais pas si je vous met le script si ca vous emmerde rien que de le lire car ca vous fait ptet **** de lire des scripts de noob avec des fautes stupides(tiré de www.toutjavascript.com où j'avais posté un script...) bon alors voila :

function album(select)
{
alert("?")
var _src=new Array(select.length)
var _title=new Array(select.length)

i = 0
l = 1
n = 0
while(n<select.length)
{
src.push(select[n].value)
title.push(select[n].text)
n++
}

while(i<=title.length)
{
document.write('<a href="'+src[i]+'" target="_blank"><img src="'+src[i]+'" alt="'+title[i]+'"></a> ')
if(l==3)
{
document.write("<p>")
l = 0
}
l++
i++
}

}



Internet explorer me dit : "cet objet ne gere pas cette propriété ou cette methode."

Est-ce que, par hasard, vous auriez une idée de l'erreur que j'ai commise ?

Merci d'avance.



BastOOn

5 réponses

bon voila le code dans toute sa grandeur(je n'ai mis que le plus important can meme :p) :
<select size="10" name="combo" OndblClick="javascript:if(this.length!=0)affInfo(this[this.selectedIndex],titre.value,image.value)"></select>
<input type="button" value="Créer l'album de photos" onClick="album(combo)">
<script type="text/javascript">
<!--
function album(select)
{
alert("?")
var _src=new Array(select.length)
var _title=new Array(select.length)

  i = 0
  l = 1
  n = 0
  while(n<select.length)
   {
    src.push(select[n].value)
    title.push(select[n].text)
    n++
   }

  while(i<=title.length)
    {
     document.write('<a href="'+src[i]+'" target="_blank"><img src="'+src[i]+'" alt="'+title[i]+'"></a> ')
     if(l==3)
        {
         document.write("<p>")
         l = 0
        }
     l++
     i++
    }

}


-->
</script>
</form>
<form name="album">


Peut etre que le bug vient du fait que mon form......
Voila !
j'ai trouvé ! Mon formulaire a le meme non que ma fonction et ca fait tout foiré !!!
bon, un premier probleme de resolu.
maintenant si je change le nom du form... ca bug toujours mais plus la meme chose: "src est indefini"...
2 eme probleme de resolu : j'appelais a chak fois le tableau par src alors que mon tableau s'appelle _src
tiens ? j'ai fait la meme faute pour title , qui est _title .
cool
bon, maintenant je teste....
1
AsKy
Messages postés
997
Date d'inscription
vendredi 25 janvier 2002
Statut
Contributeur
Dernière intervention
21 octobre 2006
65
9 sept. 2003 à 18:52
salut,

je sait pas si c'est pareil ici... mais vb par exemple (lol quel exemple !:) n'autorise pas que l'on définisse la taille d'un tableau avec une variable... (ou la valeur de retour d'une methode comme c'est plutot le cas ici).

essaie de mettre un tableau dynamique (sans argument dans les parenthèses, le c accepte cela aussi).

mais encore une fois, je connais tres peu le jscript et ce ne sont que des suppositions...
tiens nous au courant si tu trouves stp.



AsKy |L'intelligence artificielle se définit comme 
     |le contraire de la bêtise naturelle.
0
Marden
Messages postés
1072
Date d'inscription
dimanche 11 février 2001
Statut
Membre
Dernière intervention
29 janvier 2006
208
9 sept. 2003 à 22:27
Si "select" est bien le nom d'un sélecteur de ta page, il donne lieu à un objet global qu'il n'y a pas lieu de passer en paramètre à ta fonction "album()".
C'est rarement expliqué clairement dans les "cours" visibles sur la toile.
La solution peut parfois consister à passer le nom de l'objet en paramètre (entre quotes), puis, dans le corps de la fonction, utiliser "eval()".

Il serait bon aussi, devant ce genre de problème, de nous faire voir le bout du code Html où tu utilises ton sélecteur", et l'appel de ta fonction "album" (en utilisant la directive "Code").
La table des matières, elle, n'est pas nécessaire !
0
bon voila le code dans toute sa grandeur(je n'ai mis que le plus important can meme :p) :
<form name="album">
<select size="10" name="combo" OndblClick="javascript:if(this.length!=0)affInfo(this[this.selectedIndex],titre.value,image.value)"></select>
<input type="button" value="Créer l'album de photos" onClick="album(combo)">
<script type="text/javascript">
<!--
function album(select)
{
alert("?")
var _src=new Array(select.length)
var _title=new Array(select.length)

  i = 0
  l = 1
  n = 0
  while(n<select.length)
   {
    src.push(select[n].value)
    title.push(select[n].text)
    n++
   }

  while(i<=title.length)
    {
     document.write('<a href="'+src[i]+'" target="_blank"><img src="'+src[i]+'" alt="'+title[i]+'"></a> ')
     if(l==3)
        {
         document.write("<p>")
         l = 0
        }
     l++
     i++
    }

}


-->
</script>
</form>


Peut etre que le bug vient du fait que mon form......
Voila !
j'ai trouvé ! Mon formulaire a le meme non que ma fonction et ca fait tout foiré !!!
bon, un premier probleme de resolu.
maintenant si je change le nom du form... ca bug toujours mais plus la meme chose: "src est indefini"...
2 eme probleme de resolu : j'appelais a chak fois le tableau par src alors que mon tableau s'appelle _src
tiens ? j'ai fait la meme faute pour title , qui est _title .
cool
bon, maintenant je teste....
0

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

Posez votre question
Yeah !
mon script marche a merveille apres qques modifs.
Donc, pour Asky, je vais vous commenter tout les corrections qui etaient necessaires :
1)renommer le formulaire
2)rajouter le signe _ a src et title (_src _title)
3)i = 1 et non pas 0 (je sias pas pk mais can je le fais, il n'y a pas de photo nommee undefined en tout premier)

Et c'est tout ! ca marche now.
Je vous remercie tous pour l'aide que vous avez tenté de m'apporter, vs etes super sympa (je ne peux pas le dire aux membres de www.toutjavascript.com :P) !

Si vous desirez le script en entier, Dites -le moi ! je vous le mettrai sans problemes.
0