11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

Mes bases en javascript sont élémentaires.
Pouvez-vous m'aider ?

J'ai une chaîne contenant par exemple :
"c:\fakepath\212018.pdf"
et je voudrais n'en extraire que
"212018.pdf" (c'est-à-dire tout ce qui est après le dernier "\")

J'essaie par :
nom = nom.substring(nom.lastIndexOf("\"));

Mais là, erreur de synthaxe !!!
Comment faire pour éviter cela ?

Merci d'avance pour votre aide.
Modifié par jytest (18 Apr 2012 - 10:49)
Au passage,
nom = nom.replace("\","/")
ne fonctionne pas non plus !!!

C'est donc définitivement le "\" qui pose problème !
A l'aide, svp
Modifié par jytest (18 Apr 2012 - 10:49)
Bonjour,

essaye ceci :


var path = "c:\\fakepath\\212018.pdf"
var nameFile = path.substr(path.lastIndexOf("\\") + 1);

alert(nameFile);



il faut générer une chaine où les backslash sont doublés d'avance...
Je n'y avais pas pensé !
Mais... le souci c'est que cela vient du contenu d'une div !

<input type="file" id="facturepdf" name="facturepdf" onChange="nomdufichier();">


Pour être complet, voici ma fonction javascript ;

function nomdufichier() {
	var nom = document.envoiok02.facturepdf.value;
	nom = nom.substring(12);
	document.getElementById('nofacture').innerHTML = nom;	
}


Comment faire, alors ?
Modifié par jytest (18 Apr 2012 - 11:24)
Bonjour,

j'ai essayé ceci et ça a marché sous IE7, 8 et firefox


function nomdufichier() {

	var path = document.envoiok02.facturepdf.value;
	nom = path.substr(path.lastIndexOf("\\") + 1);
	document.getElementById('nofacture').innerHTML = nom;	
}
Génial, cela résout mon problème...
Fonctionne aussi sous chrome, opéra !
Merci à toi pour ton aide très précieuse !
Grand merci !
Toute ma page fonctionne maintenant à merveille !!!
Modifié par jytest (18 Apr 2012 - 13:33)