Les Allergies
Alimentaires
Posez votre question Signaler

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

BastOOn - Dernière réponse le 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
Lire la suite 

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

5 réponses
Réponse
+1
moins plus
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....
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
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 !
Ajouter un commentaire
Réponse
+0
moins plus
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....
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Ce document intitulé « [javascript] Euhh... Probleme avec new Array() » 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 ?