Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3359 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2  3
Auteur Sujet :

foreach en javascript

n°971764
freed102
Arayashiki
Posté le 04-02-2005 à 14:49:47  profilanswer
 

Reprise du message précédent :
c ce que je suis en train de corriger. thx ! :jap:

mood
Publicité
Posté le 04-02-2005 à 14:49:47  profilanswer
 

n°971865
freed102
Arayashiki
Posté le 04-02-2005 à 15:18:07  profilanswer
 

si seulement j'arrivais à zapper toute la barre d'outils de Acrobat.. malheureusement la fonction que me propose Ezpdf n'a pas l'air de fonctionner :(

n°971876
FlorentG
Posté le 04-02-2005 à 15:25:35  profilanswer
 

Pour la barre d'outils et tout le truc, c'est pas un <param /> dans <object> ?

n°971878
freed102
Arayashiki
Posté le 04-02-2005 à 15:26:28  profilanswer
 

bah en fait pas du tout parceque ce n'est pas un object !

n°971903
FlorentG
Posté le 04-02-2005 à 15:38:12  profilanswer
 

C'est pas un object :??:

n°971906
freed102
Arayashiki
Posté le 04-02-2005 à 15:39:24  profilanswer
 

bah c un pdf ouvert tout simplement... j'ai pas trouvé la formule magique pour inserer un PDF dans une page web

n°971907
FlorentG
Posté le 04-02-2005 à 15:39:53  profilanswer
 

Nope, pire, t'as mis une <iframe>, qui est complètement interdite en XHTML 1.0 Strict :eek:

n°972023
freed102
Arayashiki
Posté le 04-02-2005 à 16:52:56  profilanswer
 

bah oué je sais ! mais j'ai trouvé aucun moyen d'encapsuler un pdf !

n°972038
freed102
Arayashiki
Posté le 04-02-2005 à 17:03:08  profilanswer
 

ahhhhhhhhh ! je viens de trouver un truc !
 
je fais les essais :
http://www.clonecopy.net/php/ezdocs/essai.htm
 
c pas de la tarte on dirait!
http://www.planetpdf.com/forumarch [...] ObjTag.txt


Message édité par freed102 le 04-02-2005 à 17:14:05
n°972173
freed102
Arayashiki
Posté le 04-02-2005 à 18:11:47  profilanswer
 

c pas gagné ! :( ! j'ai rien capté ! :))

mood
Publicité
Posté le 04-02-2005 à 18:11:47  profilanswer
 

n°972181
freed102
Arayashiki
Posté le 04-02-2005 à 18:18:30  profilanswer
 

avec embed ça marche... avec object non :(

n°972619
FlorentG
Posté le 05-02-2005 à 01:30:28  profilanswer
 

<embed> n'existe pas... Seul <object> fonctionne sûr ;)
 
Ensuite, y'a quoi dans ton iframe ?

n°972963
freed102
Arayashiki
Posté le 05-02-2005 à 20:45:21  profilanswer
 

ça je sais que embed ça marche pas !
 
en fait ma page principale se charge de calculer et gerer les variables (polices, tailles, positions etc etc) et mon iframe charge la page qui genere les pdf en fonction des variables que la page principale lui transmet...
donc on a un pdf pleine page dans un iframe
 
voila


Message édité par freed102 le 05-02-2005 à 20:45:28
n°973135
FlorentG
Posté le 06-02-2005 à 12:05:18  profilanswer
 

Donc la source de ton iframe, c'est un pdf direct ? Y'a pas de page html qui contient le pdf ?

n°973848
freed102
Arayashiki
Posté le 07-02-2005 à 11:25:27  profilanswer
 

bah non puisqu'il m'est impossible à l'heure d'aujourd'hui d'integrer un PDF dans une page web donc j'ai fait un test.. sur pc ça affiche le pdf puisque windows apparement l'accorde... et sur les autres plateformes je mets un bouton "visualiser" qui ouvre le pdf comme un fichier

n°973861
FlorentG
Posté le 07-02-2005 à 11:43:59  profilanswer
 

Ouais mais comme dit, y'a quoi dans ton iframe ?

n°973937
freed102
Arayashiki
Posté le 07-02-2005 à 12:22:14  profilanswer
 

je vais tout de même pas utiliser des vieilles frames des 90's !!!!

n°973940
FlorentG
Posté le 07-02-2005 à 12:23:29  profilanswer
 

:??:
Ben t'as une <iframe> dans ton code !

n°973942
freed102
Arayashiki
Posté le 07-02-2005 à 12:23:46  profilanswer
 

bah dans mon iframe sur pc ya un fichier pdf (sans html.. c directement le fichier pdf qui s'ouvre) et sur les autres plateformes c un texte qui dit :
 

Code :
  1. <div class="visu_mac" id="visu_mac">
  2.     Vous êtes sur un système <?php echo $nav[2]; ?>,<br />
  3.     pour visualiser votre carte, validez votre formulaire et cliquez sur<br />
  4.     <a href=\"$filename\">VISUALISER</a>
  5.     </div>


Message édité par freed102 le 07-02-2005 à 12:24:36
n°973945
freed102
Arayashiki
Posté le 07-02-2005 à 12:25:08  profilanswer
 

FlorentG a écrit :

:??:
Ben t'as une <iframe> dans ton code !


oui mais iframe correspondait bien  à ce que je voulais faire... Mais c pas valide ! :-(

n°973946
FlorentG
Posté le 07-02-2005 à 12:27:05  profilanswer
 

J'aime bien la classe "visu_mac" :D Faudrait plutot "visu_alt" ;)
 
Sinon sans <iframe>, pas possible de recharger juste le pdf, effectivement... Ou alors avec le truc javascript, mais faut voir l'implémentation suivant les navigateurs...

n°973952
freed102
Arayashiki
Posté le 07-02-2005 à 12:31:49  profilanswer
 

quel truc javascript ?
là je seche je crois... c con que cette fonction iframe ne soit pas valide.. parceque ça serait top ! lol!

n°974923
FlorentG
Posté le 07-02-2005 à 23:01:53  profilanswer
 

Tiens je viens de voir, pour répondre à la question initiale : l'équivalent du foreach à l'air d'être for in :

for(var pouet in truc)


J'ai vu ça dans la spé Ecma-262, à essayer :)

n°975012
freed102
Arayashiki
Posté le 08-02-2005 à 00:59:49  profilanswer
 

héhé c ce que j'avais vu sur un site (cf le post que j'ai mis ya quelques jours en parallele : http://forum.hardware.fr/hardwaref [...] 3656-1.htm
 
(voir en bas de la page ! :) )
 
mais je l'ai pas encore essayé ! (j'arrive pas à suivre)


Message édité par freed102 le 08-02-2005 à 01:01:29
n°975023
cerel
Posté le 08-02-2005 à 01:39:00  profilanswer
 

Heureusement que je l'avais pas deja poste ... :D
 
Bon ok, j'avais poste un peu plus de code javascript, donc il est peut-etre passe inapercu ...
 
C'est par la que ca se passe
 
Edit : Effectivement freed102 l'avait egalement poste (dans un autre topic).


Message édité par cerel le 08-02-2005 à 01:41:04
n°975436
freed102
Arayashiki
Posté le 08-02-2005 à 14:47:51  profilanswer
 

oui mais alors si je mets du PHP dans un .js ça marche pas ???

n°975439
FlorentG
Posté le 08-02-2005 à 14:49:14  profilanswer
 

Si, tu peux générer un js avec du php

n°975442
freed102
Arayashiki
Posté le 08-02-2005 à 14:51:40  profilanswer
 

oui mais si je mets mon php dans un fichier .JS externe... ça va pas marcher ?

n°975444
FlorentG
Posté le 08-02-2005 à 14:52:27  profilanswer
 

Si, met juste l'extension .php à ton js, et après tu fait comme ça dans ta page :

<script type="text/javascript" src="pouet.php"></script>

n°975465
freed102
Arayashiki
Posté le 08-02-2005 à 15:05:05  profilanswer
 

ah ouéééééé ça cheu-mar !! c cool ! :d

n°975481
freed102
Arayashiki
Posté le 08-02-2005 à 15:31:31  profilanswer
 

j'y suis presque ! :d
 

Code :
  1. function AffichePalette(nom,div,input)
  2. {
  3. var hex_array=["00","33","66","99","CC","FF"];
  4. var d="Choisissez votre couleur";
  5. d+="<table align=\"center\">";
  6. d+="<tr>";
  7. d+="<td align=\"center\" valign=\"middle\">";
  8. d+="<table>";
  9. d+="<tr>";
  10. d+="<td>";
  11. d+="<table>";
  12. for(red in hex_array)
  13. {
  14.  for(green in hex_array)
  15.  { d+="<tr>";
  16.   for(blue in hex_array)
  17.   {
  18.  d+="<td width=\"10\" height=\"10\" bgcolor=\"#"+red+green+blue+"\">";
  19.  d+="<a class=\"closeLink\" href=\"#\" onclick=\"document.forms['form2'].couleurnom.value='"+red+green+blue+"';document.getElementById('"+nom+"').style.background='#"+red+green+blue+"';toggleDisplay('"+div+"');return false;\">";
  20.  d+="<img src=\"dummy.gif\" alt=\""+red+green+blue+"\" width=\"10\" height=\"10\" />";
  21.  d+="</a>";
  22.  d+)="</td>";
  23.   }
  24.   d+="</tr>";
  25.  }
  26. }
  27. d+="</tr>";
  28. d+="</table>";
  29. d+="</td>";
  30. d+="</tr>";
  31. d+="</table>";
  32. document.getElementById(div).innerHTML = d;
  33. }


mais il me manque plein de couleurs !  :lol:


Message édité par freed102 le 08-02-2005 à 15:34:20
n°975489
FlorentG
Posté le 08-02-2005 à 15:39:06  profilanswer
 

Mais encore une fois, tu peux remplacer tous tes appels par une fonction unique. Optimise d'abord grave ton code, et après écrit la fonction qui va le générer automatiquement.

n°975508
freed102
Arayashiki
Posté le 08-02-2005 à 15:55:03  profilanswer
 

FlorentG a écrit :

Mais encore une fois, tu peux remplacer tous tes appels par une fonction unique. Optimise d'abord grave ton code, et après écrit la fonction qui va le générer automatiquement.


 
suis en train de suivre tes conseils en creant une fonction pour les actions :
 

Code :
  1. function ActionColor(couleur,nom,div,input)
  2. {
  3. document.forms['form2'].+input+.value=couleur;
  4. document.getElementById('+nom+').style.background='#'+couleur;
  5. toggleDisplay('+div+');
  6. return false;
  7. }


 
mais j'ai un probleme avec les concatenation pour les noms des champs :
 
document.forms['form2'].+input+.value=couleur;
apparement ça marche pas! :-s
et j'arrive pas à faire un getElementById() avec les valeur de formulaire


Message édité par freed102 le 08-02-2005 à 15:56:05
n°975515
FlorentG
Posté le 08-02-2005 à 16:00:39  profilanswer
 

Ca :

document.forms['form2'].+input+.value=couleur;


Ca n'existe plus ;) Tout ce qui est document.forms, document.image, etc. est à proscrire ;)
Faut utiliser plutot quelque chose genre :

document.getElementById('form2').elements(input).value = couleur


Avec bien-sûr l'id 'form2' sur ton formulaire ;)

n°975523
freed102
Arayashiki
Posté le 08-02-2005 à 16:05:06  profilanswer
 

ça marche po ! :(
 

Error: document.getElementById("form2" ).elements is not a function
Source File: http://clonecopy.net/php/ezdocs/javascript2.php
Line: 77


Message édité par freed102 le 08-02-2005 à 16:05:20
n°975526
FlorentG
Posté le 08-02-2005 à 16:05:59  profilanswer
 

oups :

elements[input]


Avec des crochets ;)

n°975536
freed102
Arayashiki
Posté le 08-02-2005 à 16:09:04  profilanswer
 

yess !! c mieux !!! (sauf que ma fonction ne marche pas ! :lol:

n°975589
freed102
Arayashiki
Posté le 08-02-2005 à 16:41:46  profilanswer
 

Et voila !! cette fois c bon !!!!! tout marche ! il me reste plus qu'un petit soucy de mise en page...  
 
voici le code :
 

Code :
  1. function ActionColor(couleur,nom,div,input)
  2. {
  3. document.getElementById('form2').elements[input].value = couleur
  4. document.getElementById(nom).style.background='#'+couleur;
  5. toggleDisplay(div);
  6. return false;
  7. }
  8. function AffichePalette(nom,div,input)
  9. {
  10. var hex_array=["00","33","66","99","CC","FF"];
  11. var d="Choisissez votre couleur";
  12. for(red in hex_array)
  13. {
  14.  d+="<div id=\"coulrange"+hex_array[red]+"\" class=\"coulrange\">";
  15.  d+="<table>\n";
  16.  d+="<tr>\n";
  17.  d+="<td>\n";
  18.  for(green in hex_array)
  19.  {
  20.   d+="<table>";
  21.   d+="<tr>";
  22.   for(blue in hex_array)
  23.   {
  24.  d+="\t<td width=\"10\" height=\"10\" bgcolor=\"#"+hex_array[red]+hex_array[green]+hex_array[blue]+"\">";
  25.  d+="<a class=\"closeLink\" href=\"#\"";
  26.  d+="onclick=\"ActionColor(\'"+hex_array[red]+hex_array[green]+hex_array[blue]+"\',\'"+nom+"\',\'"+div+"\',\'"+input+"\')\">";
  27.  d+="<img src=\"dummy.gif\" alt=\""+red+green+blue+"\" width=\"10\" height=\"10\" />";
  28.  d+="</a>";
  29.  d+="</td>\n";
  30.   }
  31.   d+="</tr>\n";
  32.   d+="</table>\n";
  33.  }
  34.  d+="</tr>\n";
  35.  d+="</td>\n";
  36.  d+="</table>\n";
  37.  d+="</div>"
  38. }
  39. document.getElementById(div).innerHTML = d;
  40. }


Message édité par freed102 le 08-02-2005 à 16:42:54
n°975594
FlorentG
Posté le 08-02-2005 à 16:43:29  profilanswer
 

Ok, c'est un peu mieux. Maintenant tu peux réécrire les truc genre :

d+="<div id=\"coulrange"+hex_array[red]+"\" class=\"coulrange\">";


En ça :

d += '<div id="coulrange' + hex_array[red] + '" class="coulrange">';


C'est plus lisible.
Et après, tu pourra tout refaire en utilisant des fonctions DOM au lieu du innerHTML :D

n°975601
freed102
Arayashiki
Posté le 08-02-2005 à 16:44:39  profilanswer
 

ouai mais là j'ai pas encore capté les fonctions DOM ! j'ai pas trouvé de doc ! je sais pas faire la différence encore

n°975631
freed102
Arayashiki
Posté le 08-02-2005 à 16:56:20  profilanswer
 

Voici le code "nettoyé et plus lisible"
 

Code :
  1. function ActionColor(couleur,nom,div,input)
  2. {
  3. document.getElementById('form2').elements[input].value = couleur
  4. document.getElementById(nom).style.background='#'+couleur;
  5. toggleDisplay(div);
  6. }
  7. function AffichePalette(nom,div,input)
  8. {
  9. var hex_array=["00","33","66","99","CC","FF"];
  10. var d="Choisissez votre couleur \n";
  11. for(red in hex_array)
  12. {
  13.  d+='<div id="coulrange'+ hex_array[red] +'" class="coulrange"> \n';
  14.  d+='<table> \n';
  15.  d+='<tr> \n';
  16.  d+='<td> \n';
  17.  for(green in hex_array)
  18.  {
  19.   d+='<table> \n';
  20.   d+='<tr> \n';
  21.   for(blue in hex_array)
  22.   {
  23.  d+=' \t <td width="10" height="10"';
  24.  d+='bgcolor="#'+ hex_array[red] + hex_array[green] + hex_array[blue] +'">';
  25.  d+='<a class="closeLink" href="#" ';
  26.  d+='onclick="ActionColor(\'' + hex_array[red] + hex_array[green] + hex_array[blue] +'\',\''+nom+'\',\''+div+'\',\''+input+'\');return false;"> ';
  27.  d+='<img src="dummy.gif" alt="'+ hex_array[red] + hex_array[green] + hex_array[blue] +'" width="10" height="10" />';
  28.  d+='</a>';
  29.  d+='</td> \n';
  30.   }
  31.   d+='</tr> \n';
  32.   d+='</table> \n';
  33.  }
  34.  d+='</tr> \n ';
  35.  d+='</td> \n ';
  36.  d+='</table> \n ';
  37.  d+='</div> \n';
  38. }
  39. document.getElementById(div).innerHTML = d;


Message édité par freed102 le 08-02-2005 à 17:29:02
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3

Aller à :
Ajouter une réponse
 

Sujets relatifs
Erreurs avec javascriptin_array en javascript ?
Insérer une variable javascript dans dans HTML [RESOLU]Comment savoir si on est sur le dernier element d'un foreach
JSP jstl <c:forEach> probleme!!!!javascript: popup/frames/opener : pb de sécurité pour mozilla ?
caractere blanc de php/javascriptJavascript / frames et formulaire :)
liste deroulante dynamique PHP/Javascriptjavascript et linux
Plus de sujets relatifs à : foreach en javascript


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)