Petit probleme javascript

gaucyril Messages postés 11 Date d'inscription mardi 18 septembre 2007 Statut Membre Dernière intervention 23 juillet 2012 - 16 oct. 2008 à 14:47
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 - 18 oct. 2008 à 07:42
Bonjour,


je suis en train de faire une verification d'extension de fichier avant upload en javascript.

Et jusque la ca marche.

Mon probleme est que je veux effacer le contenu du champ quand l'extension n'est pas bonne et la ca coince.

voici mon code :


-------------------------------------------------


function recup_extension(fichier) // fonction de récupération extension fichier

{

if (fichier!="")// si le champ fihier n'est pas vide

{

nom_fichier=fichier;// on récupere le chemin complet du fichier

nbchar = nom_fichier.length;// on compte le nombre de caractere que compose ce chemin

extension = nom_fichier.substring(nbchar-4,nbchar); // on récupere les 4 derniers caracteres

extension=extension.toLowerCase(); //on uniforme les caracteres en
minuscules au cas ou cela aurait été écris en majuscule...

return extension; // on renvoi l'extension vers la fonction appelante

}

}


function verif_extension(fichier)// fonction vérification de l'extension aprés avoir choisi le fichier

{

ext = recup_extension(fichier);// on appelle la fonction de récupération de l'extension et on récupere l'extension


if(ext==".jpg"||ext==".gif"||ext==".png"){}// si extension = a une des
extension suivante alors tout est ok donc ... pas d'erreur

else // sinon on alert l'user de la mauvaise extension

{

alert("L'extension du fichier que vous voulez uploader est
:'"+extension+"'\n cette extension n'est pas autorisée !\n Seules les
extesnions suivantes sont autorisées :\n'JPG;PNG;GIF' !");

}

}


function verif_before_valid_form()// fonction de validation de formulaire

{

var msgerr="Veuillez vérifier les erreurs suivantes :\n";// préparation message d'erreur

var erreur = 0;// par defaut tout est ok


if(document.formulaire.fichier_choisi.value!="")// si le champ fihier n'est pas vide

{

ext = recup_extension(document.formulaire.fichier_choisi.value);// on
appelle la fonction de récupération de l'extension et on récupere
l'extension


if(ext==".jpg"||ext==".gif"||ext==".png"){} // si extension = a une des
extension suivante alors tout est ok donc ... pas d'erreur

else // sinon message d'erreur

{

msgerr=msgerr+"- L'extension du fichier n'est pas valide, les
extensions acceptées sont 'JPG;PNG;GIF' ! \n";// prépare message
d'erreur

erreur = 1;// il y a une erreur donc on l'informe


if(document.formulaire.fichier_choisi.value!="")// si le champ fihier n'est pas vide

{

document.formulaire.fichier_choisi.value="";

}

}

}


if(erreur==1)

{

alert(msgerr);

}

else

{

formulaire.submit();

}

}

//-->

</SCRIPT>

</head>



Image :


<form name="formulaire" enctype="multipart/form-data" method="post"
action="insert_art.php" onSubmit="return verification()">




------------------------------


Est ce que quelqu'un pourrai m'aider.

6 réponses

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
16 oct. 2008 à 15:12
bonjour,

>>est que je veux effacer le contenu du champ quand l'extension n'est pas bonne et la ca coince

tu veux agir sur le input type="file" ? si je comprend...
pas possible, il est en lecture seule
tout ce que tu peux faire c'est "simuler" un click sur un
       contenu dans le formlaire
       et encore.. pas sûr que ce soit possible avec tous les navigateurs...
       IE permettrait des choses.. mais bon... exclusives
Cordialement

          Bul [mon Site] [M'écrire]         
0
cs_fonio Messages postés 56 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 15 février 2013 1
17 oct. 2008 à 01:35
yo!

réécrit l'input :

document.formulaire.fichier_choisi.outerHTML=document.formulaire.fichier_choisi.outerHTML;

puis replace le focus :

document.formulaire.fichier_choisi.focus();
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
17 oct. 2008 à 10:32
avec IE, certes, mais avec les autres navigateurs ? tu as testé ?
          Bul [mon Site] [M'écrire]         
0
cs_fonio Messages postés 56 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 15 février 2013 1
17 oct. 2008 à 17:05
j'avoue que non...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
18 oct. 2008 à 05:36
tu devrais.... et nous dire ?
          Bul [mon Site] [M'écrire]         
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
18 oct. 2008 à 07:42
Bonjour à tous,
<table bgcolor= "#e6effe" border="0" cellpadding="5" cellspacing="0" width="100%">----, tu veux agir sur le input type=\"file\" ? si je
comprend...
pas possible, il est en lecture
seule</td>
</td></tr></tbody></table>Il est
effectivement en lecture seule, avec FireFox
un Obj.value =""; fonctionne
mais pas avec les autres...

donc il faut ruser et en javascript
beaucoup de chose sont faisable...

- L'idée est de créer un clone au
démarrage, donc la value= ""
- Ensuite pour éffacer la value il suffit de
remplacer l'original par son clone

<GAG>
je vous livre un code qui
mérite d'être dans les a nn ales.
</GAG>
<html>
<head>

<script type ="text/javascript">
var O_Clone;
//------------------------
function
Init_Input_File(){
  var O_Src = document.getElementById( 'I_NOM_FICHIER');

  //-- Creation d'un clone
  O_Clone =
O_Src.cloneNode(true);
  O_Src.parentNode.appendChild( O_Clone);
   //-- on cache
  O_Clone.style.display = "none";

  //-- new ID et NAME pour eviter les conflits

  O_Clone.id = "I_SAVE";
  O_Clone.name = "I_SAVE";
}

//------------------------
function
Clear_Champ( id_){
  var O_Src = document.getElementById( id_);
  //-- Creation d'un clone du clone
  O_New =
O_Clone.cloneNode(true);
  //-- Ajout du clone

  O_Src.parentNode.appendChild( O_New);
  //-- Remplacement du INPUT FILE par le clone

  O_Src.parentNode.replaceChild( O_New, O_Src);
   //-- Affiche
  O_New.style.display = "";

  //-- Restaure ID et NAME
  O_New.id
= 'I_NOM_FICHIER';
  O_New.name = 'I_NOM_FICHIER';
}
//-----------------------
function Show_Champ(
id_){
  var O_Src = document.getElementById( id_);
  alert(
O_Src.value);
}
</script>
</head>

<form>
  
<label
title="" for="I_NOM_FICHIER">Fichier:</label>
  

  

  
  

</form>

</html>
Voila tester
sous les principaux navigateurs que je posséde...
A vous de jouer...

Message perso à moi même, pour une fois la nuit t'a été profitable..

;O)
0
Rejoignez-nous