Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire Cours JavaScript, FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 01/07/2009, 10h48   #1 (permalink)
Invité régulier
 
Date d'inscription: juillet 2009
Messages: 11
Par défaut Copier/coller Excel/Tableau HTML

Bonjour, je souhaite pouvoir copier/coller depuis Excel vers un formulaire HTML constitué de champs text.

pour cela, j'intercepte l'action "coller" avec Prototype, puis je voudrai splitter la chaine sur le caractère "retour à la ligne" et enfin mettre ces valeurs dans mes champs.

Pour le moment, j'ai ca:
Code :
function init()
 
	{
 
		Event.observe('note_0', 'paste', pasteCol);
	
	}
 
(Appelée au onload)

et
Code :
 
function pasteCol(event)
 
	{
		alert("collé");
		var notes=document.getElementById('note_0').value;
		var reg= new RegExp('[\r\n]');
		notes=notes.split(reg);
		document.getElementById('note_0').value=notes[0];
		document.getElementById('note_1').value=notes[1];
		document.getElementById('note_2').value=notes[2];
 
	}
mais ca ne marche pas, j''ai l'impression que le split ne fonctionne pas.

Si je splitte sur " " (espace) et que je colle une chaine du type 1 2 3, ca fonctionne par contre.

J'ai déja testé \n, \r, \n\r, \r\n, et en copiant depuis excel, ou même depuis le bloc notes ....

A chaque fois je recupère des "undefined" :/

Merci d'avance !
getget94 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 01/07/2009, 11h08   #2 (permalink)
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Date d'inscription: mars 2002
Localisation: Au coeur de la Nébuleuse de la Rainette
Messages: 22 667
Par défaut

essaye avec
Code :
var reg= new RegExp('\r\n|\r|\n');
 
__________________
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )
Citation:
Deux règles du succès:
1) Ne communiquez jamais à quelqu'un tout votre savoir...

Votre post a trouvé une réponse qui vous satisfait ? Alors n'oubliez pas le Tag

réalisations web (developpeur et/ou infographiste et/ou chef de projet:
www.saftair.com| www.ouestisol.fr | www.sebemex.fr
| www.sistac-alizay.fr | www.planet-languages.com | www.acoustishop.fr | www.litt.fr
SpaceFrog est actuellement connecté   Envoyer un message privé Réponse avec citation
Vieux 01/07/2009, 12h43   #3 (permalink)
Invité régulier
 
Date d'inscription: juillet 2009
Messages: 11
Par défaut

Pareil, le split ne se fait pas :/

en fait, je pense qu'il y a un problème de séquencement ...

si je fais
Code :
 
function pasteCol(event)
 
	{
		alert("collé");
		var notes=document.getElementById('note_0').value;
		var tab= new RegExp('\r\n|\r|\n');
		alert(notes);
		notes=notes.split(tab);
		document.getElementById('note_0').value=notes[0];
		document.getElementById('note_1').value=notes[1];
		document.getElementById('note_2').value=notes[2];
 
	}
J'ai l'alert "collé", puis un alert vide, puis le texte se colle dans l"input "note_0" ... ce qui voudrait dire que l'événement observé par prototype est lancé avant que l'action "coller" soit effectivement faite et je ne sais pas comment contourner ça
getget94 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 01/07/2009, 13h06   #4 (permalink)
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Date d'inscription: mars 2002
Localisation: Au coeur de la Nébuleuse de la Rainette
Messages: 22 667
Par défaut

Code :
var reg= new RegExp('\\r\\n|\\r|\\n');
non plus ?
__________________
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )
Citation:
Deux règles du succès:
1) Ne communiquez jamais à quelqu'un tout votre savoir...

Votre post a trouvé une réponse qui vous satisfait ? Alors n'oubliez pas le Tag

réalisations web (developpeur et/ou infographiste et/ou chef de projet:
www.saftair.com| www.ouestisol.fr | www.sebemex.fr
| www.sistac-alizay.fr | www.planet-languages.com | www.acoustishop.fr | www.litt.fr
SpaceFrog est actuellement connecté   Envoyer un message privé Réponse avec citation
Vieux 01/07/2009, 13h16   #5 (permalink)
Invité régulier
 
Date d'inscription: juillet 2009
Messages: 11
Par défaut

Ca ne marche pas non plus, mais comme la variable notes est vide, c'est pas prêt de marcher:/
getget94 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 01/07/2009, 14h59   #6 (permalink)
Invité régulier
 
Date d'inscription: juillet 2009
Messages: 11
Par défaut

1er problème résolu, le split ne marche pas sur \r\n avec un input text, ca marche avec un textarea par contre, maintenant, il me reste à voir comment gérer l'evenement coller
getget94 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 01/07/2009, 15h06   #7 (permalink)
Responsable Développement Web
 
Avatar de Bovino
 
Date d'inscription: juin 2008
Localisation: Bordeaux
Âge: 39
Messages: 6 708
Par défaut

Citation:
Envoyé par getget94 Voir le message
ce qui voudrait dire que l'événement observé par prototype est lancé avant que l'action "coller" soit effectivement faite et je ne sais pas comment contourner ça
Avec une temporisation :
Code :
function pasteCol(event)
 
	{
		alert("collé");
		setTimeout(function(){
		var tab= new RegExp('\r\n|\r|\n');
		var notes=document.getElementById('note_0').value;
		notes=notes.split(tab);
		document.getElementById('note_0').value=notes[0];
		document.getElementById('note_1').value=notes[1];
		document.getElementById('note_2').value=notes[2];
                }, 100);
 
	}
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Bovino est actuellement connecté   Envoyer un message privé Réponse avec citation
Vieux 01/07/2009, 20h00   #8 (permalink)
Invité régulier
 
Date d'inscription: juillet 2009
Messages: 11
Par défaut

C'est ce que j'avais fini par faire, même si je trouve pas ca très propre, merci à vous deux du coup de main !
getget94 est déconnecté   Envoyer un message privé Réponse avec citation
NEWS JAVASCRIPTF.A.Q JSTUTORIELS JSSOURCES JSLIVRES JS

Réponse Proposer ce sujet en actualité

Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non



Fuseau horaire GMT +1. Il est actuellement 09h05.


Vos questions techniques : forum d'entraide JavaScript - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Hébergement - Participez - Copyright © 2000-2010 www.developpez.com - Legal informations.