|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
CLEAR D'UN INPUT FILE
Information sur la source
Description
But du Jeu...
- Effacer la valeur d'un INPUT type FILE propriété qui se trouve être en lecture seule, l'action Obj.value =""; n'ayant aucun effet sur certain navigateur.
Principe...
- L'idée est de créer un clone de l'INPUT type FILE au démarrage, quand sa value=""...
- Ensuite pour effacer la value il suffira de remplacer le INPUT type FILE original par son clone...
Mise en oeuvre...
- Le ou les INPUT type FILE à clearer doivent avoir au moins un attribut ID ou NAME.
- Insérer, dans votre document entre les balises <head> et </head> le fichier gfinputfile.js qui contient les fonctions, comme suit...
<script type="text/javascript" src="gfinputfile.js"></script>
- Il vous suffit d'appeller la function Clear_Input_File, en passant en paramètre l'ID ou le NAME de l'INPUT type FILE à clearer, soit dans votre code, soit en l'associant à un événement d'un contrôle de votre document.
exemple :
<input type="button" onclick="Clear_Input_File('I_FILE')" value="Clear">
- La création des clones se fait automatiquement au chargement du document.
Source
- //------------------------
- function Save_Input_File(){
- //-- Recup des INPUT du document
- var Tab = document.getElementsByTagName( 'INPUT');
- var Nbr = Tab.length;
- for( var i=0; i < Nbr; i++){
- //-- pour les INPUT type FILE
- if( Tab[i].type == 'file'){
- //-- Recup objet a cloner
- var O_Src = Tab[i];
- O_Src.value = ''; // because F5 sous FireFox
- //-- Recup id et name
- var szId = O_Src.getAttribute('id');
- var szName = O_Src.getAttribute('name');
- //-- affecte id ou name si non renseigne
- if( !szId && szName)
- O_Src.setAttribute( 'id', szName);
- if( szId && !szName)
- O_New.setAttribute( 'name', szId);
- //-- Creation d'un clone
- var O_Clone = O_Src.cloneNode( true);
- O_Src.parentNode.appendChild( O_Clone);
- //-- save type de display, id et name
- O_Clone.oldDisplay = O_Clone.style.display;
- O_Clone.oldId = O_Src.getAttribute('id');
- O_Clone.oldName = O_Src.getAttribute('name');
- //-- on cache
- O_Clone.style.display = 'none';
- //-- new ID et NAME pour eviter les conflits
- O_Clone.setAttribute( 'id', 'GF_' +Tab[i].id);
- O_Clone.setAttribute( 'name', 'GF_' +Tab[i].id);
- }
- }
- }
- //-----------------------------
- function Clear_Input_File( id_){
- //-- Recup l'objet source
- var O_Src = document.getElementById( id_);
- if( O_Src){
- //-- Recup l'objet clone
- var O_Clone = document.getElementById( 'GF_' +id_);
- //-- Creation d'un clone du clone
- var 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);
- //-- Restaure id, name et affiche
- O_New.setAttribute( 'id', O_Clone.oldId);
- O_New.setAttribute( 'name', O_Clone.oldName);
- O_New.style.display = O_Clone.oldDisplay;
- }
- }
- //---------------------------------------------
- function Add_Event( obj_, event_, func_, mode_){
- if( obj_.addEventListener)
- obj_.addEventListener( event_, func_, mode_? mode_:false);
- else
- obj_.attachEvent( 'on'+event_, func_);
- }
- //-- Ajout evenement sur onload
- Add_Event( window, 'load', Save_Input_File);
//------------------------
function Save_Input_File(){
//-- Recup des INPUT du document
var Tab = document.getElementsByTagName( 'INPUT');
var Nbr = Tab.length;
for( var i=0; i < Nbr; i++){
//-- pour les INPUT type FILE
if( Tab[i].type == 'file'){
//-- Recup objet a cloner
var O_Src = Tab[i];
O_Src.value = ''; // because F5 sous FireFox
//-- Recup id et name
var szId = O_Src.getAttribute('id');
var szName = O_Src.getAttribute('name');
//-- affecte id ou name si non renseigne
if( !szId && szName)
O_Src.setAttribute( 'id', szName);
if( szId && !szName)
O_New.setAttribute( 'name', szId);
//-- Creation d'un clone
var O_Clone = O_Src.cloneNode( true);
O_Src.parentNode.appendChild( O_Clone);
//-- save type de display, id et name
O_Clone.oldDisplay = O_Clone.style.display;
O_Clone.oldId = O_Src.getAttribute('id');
O_Clone.oldName = O_Src.getAttribute('name');
//-- on cache
O_Clone.style.display = 'none';
//-- new ID et NAME pour eviter les conflits
O_Clone.setAttribute( 'id', 'GF_' +Tab[i].id);
O_Clone.setAttribute( 'name', 'GF_' +Tab[i].id);
}
}
}
//-----------------------------
function Clear_Input_File( id_){
//-- Recup l'objet source
var O_Src = document.getElementById( id_);
if( O_Src){
//-- Recup l'objet clone
var O_Clone = document.getElementById( 'GF_' +id_);
//-- Creation d'un clone du clone
var 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);
//-- Restaure id, name et affiche
O_New.setAttribute( 'id', O_Clone.oldId);
O_New.setAttribute( 'name', O_Clone.oldName);
O_New.style.display = O_Clone.oldDisplay;
}
}
//---------------------------------------------
function Add_Event( obj_, event_, func_, mode_){
if( obj_.addEventListener)
obj_.addEventListener( event_, func_, mode_? mode_:false);
else
obj_.attachEvent( 'on'+event_, func_);
}
//-- Ajout evenement sur onload
Add_Event( window, 'load', Save_Input_File);
Fichier Zip
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
Télécharger le zip
Historique
- 25 octobre 2008 06:45:18 :
- Après avoir compris ce que disait XtremDuke, je suis parfois long à comprendre, suppression de la variable globale complètement inutile.
Sources du même auteur
Sources de la même categorie
Sources en rapport avec celle ci
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Value d'un input type file [ par mickelo ]
Bonjour a tous. tout d'abord merci de donner un peu de votre temps pour le forum c top. (et pour moi aussi)Voila moi je recupere dans une variable asp
champ input file valeur par défaut [ par Tatopoulos ]
Bonjour,Est-il possible de mettre une valeur par défaut dans un champ de formulaire "input file" et si oui merci de me donner un exemple.
sauvegardé la valeur d'un input file [ par Ankaa1988 ]
Bonjour à tous, voila je suis en train de faire un script et pour des raisons un peu longue à expliquer j'ai besoin de sauvegarder (voire copier) un i
problème input file [ par titia80000 ]
Bonjour,je dois faire un formulaire en html 4 strict avec du javascript, j'ai input file qui récupère l'adresse d'une image et lorsque je clic sur un
input type file sur opera [ par fonetiklilian ]
lilian
input file et chemin absolu [ par bultez ]
Bonjour à toutes et à tous,<input type="file" onchange="alert(this.value);" />je crois qu'avec IE,K-Meleon,Safari on affiche le ch
Récupérer valeur input type file [ par rom268 ]
Bonjour, je dois récupérer la valeur d'un input file afin d'enregistrer le chemin en entier. PHP ne peut que récupérer le nom de fichier, il me faud
Extension automatique d'un input text [ par bricklebrit ]
Bonjour à tous,Je ne suis pas sûr d'écrire dans la bonne rubrique mais je tente toujours :)Je suis en train de créer un site avec un moteur de recherc
envoyer un champ input text via ajax pour tchat [ par iznobe2601 ]
ça fait plusieurs jours que je galere avec ce truc là qui je suis sur est simple pour vous donc pour un tchat simple live en ajax , j ' ai un champ in
Controler la saisie d'un input [ par nandofive ]
Bonjour,Je voudrai savoir si il est possible de contrôler la saisie d'un "input" pour que la valeur soit une valeur numérique comprise entre 0.50 et 1
|
Téléchargements
Logiciels à télécharger sur le même thème :
Comparez les prix Nouvelle version
|