[Javascript - URGENT] traitement de chaine de caractère - Résolu

traitement de chaine de caractère - Résolu [Javascript - URGENT] - HTML/CSS - Programmation

Marsh Posté le 22-06-2007 à 11:16:08    

Code :
  1. var i, j, k, tmp;
  2. var pdfNodesCopy = [];
  3. var metaNodesCopy = [];
  4. var pdfNodes = [];
  5. var metaNodes = [];
  6. var tmp;
  7. //clone arrays
  8. pdfNodesCopy = _pdfNodes.slice(0);
  9. metaNodesCopy = _metaNodes.slice(0);
  10. log("pdfNodesCopy.length" + pdfNodesCopy.length);
  11. log("metaNodesCopy.length" + metaNodesCopy.length);
  12. for (i = 0; i < _pdfNodes.length; i++) {
  13.  tmp = pdfNodesCopy[i].node.name.substring(0, pdfNodesCopy[i].posext);
  14.  pdfNodesCopy[i].node.name = tmp;
  15.  log("pdfNodesCopy[i].node.name" + pdfNodesCopy[i].node.name);
  16.  log("pdfNodesCopy[i].posext" + pdfNodesCopy[i].posext);
  17.  log("pdfNodesCopy[i].node.name.substr(0, pdfNodesCopy[i].posext)" + pdfNodesCopy[i].node.name.substr(0, pdfNodesCopy[i].posext));
  18. }


 
sortie à la 1ère itération de la boucle :
 

22 juin 2007 11:12:31 CEST : pdfNodesCopy.length4
22 juin 2007 11:12:31 CEST : metaNodesCopy.length4
22 juin 2007 11:12:31 CEST : pdfNodesCopy[i].node.name0000006A.pdf
22 juin 2007 11:12:31 CEST : pdfNodesCopy[i].posext8
22 juin 2007 11:12:31 CEST : pdfNodesCopy[i].node.name.substr(0, pdfNodesCopy[i].posext)0000006A


 
le lézard : pourquoi, dans la sortie, je récupère "0000006A" (nom de fichier sans l'extension) et qu'à la 3ème ligne de la sortie, je récupère "0000006A.pdf" (nom de fichier avec l'extension)
 
Merci pour les explications, je suis perdu  :sweat:


Message édité par Giz le 22-06-2007 à 15:09:15

---------------
Asus P5Q Pro | C2D E8400 3GHz@4GHz + Noctua NH-C12P | 2x2Go Patriot Extreme PC-8500 | GeForce GTX 460@Stock 1Go GLH | Crucial SSD M4 64Go Sata3
Reply

Marsh Posté le 22-06-2007 à 11:16:08   

Reply

Marsh Posté le 22-06-2007 à 11:36:34    

à l'affichage de la valeur de tmp, j'ai bien le nom sans extension : 0000006A ... à croire que la variable pdfNodesCopy[i].node.name est en lecture seule  :ange: . Ca vient d'où ce problème ?  :??:


---------------
Asus P5Q Pro | C2D E8400 3GHz@4GHz + Noctua NH-C12P | 2x2Go Patriot Extreme PC-8500 | GeForce GTX 460@Stock 1Go GLH | Crucial SSD M4 64Go Sata3
Reply

Marsh Posté le 22-06-2007 à 12:17:10    

aucune réponse ? :(


---------------
Asus P5Q Pro | C2D E8400 3GHz@4GHz + Noctua NH-C12P | 2x2Go Patriot Extreme PC-8500 | GeForce GTX 460@Stock 1Go GLH | Crucial SSD M4 64Go Sata3
Reply

Marsh Posté le 22-06-2007 à 12:23:29    

essaye via un setAttribute('name',tmp) plutot.

Reply

Marsh Posté le 22-06-2007 à 14:07:16    

anapajari a écrit :

essaye via un setAttribute('name',tmp) plutot.


 
Malheuresement ça marche pas  :sweat:  
 

org.alfresco.error.AlfrescoRuntimeException: Error during command servlet processing: Failed to execute script 'workspace://SpacesStore/d68b412e-1fee-11dc-9acb-a7d42d2872c6': TypeError: Cannot find function setAttribute. (AlfrescoScript#550)
caused by:
org.alfresco.service.cmr.repository.ScriptException: Failed to execute script 'workspace://SpacesStore/d68b412e-1fee-11dc-9acb-a7d42d2872c6': TypeError: Cannot find function setAttribute. (AlfrescoScript#550)
caused by:
org.alfresco.error.AlfrescoRuntimeException: TypeError: Cannot find function setAttribute. (AlfrescoScript#550)
caused by:
org.mozilla.javascript.EcmaError: TypeError: Cannot find function setAttribute. (AlfrescoScript#550)


 
Une autre idée  :??:


---------------
Asus P5Q Pro | C2D E8400 3GHz@4GHz + Noctua NH-C12P | 2x2Go Patriot Extreme PC-8500 | GeForce GTX 460@Stock 1Go GLH | Crucial SSD M4 64Go Sata3
Reply

Marsh Posté le 22-06-2007 à 14:44:26    

supporte pas le dom ton servlet alfresco?

Reply

Marsh Posté le 22-06-2007 à 15:07:52    

C'est bon j'ai trouvé l'erreur !  :sol:  
le tableau d'objet pdfNodesCopy a été mal alloué : la propriétés node dans pdfNodesCopy[i] n'a pas été clonée. On doit donc se taper à la main le "deepCopy" d'un objet ...


---------------
Asus P5Q Pro | C2D E8400 3GHz@4GHz + Noctua NH-C12P | 2x2Go Patriot Extreme PC-8500 | GeForce GTX 460@Stock 1Go GLH | Crucial SSD M4 64Go Sata3
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed