2009-09-13 8 views

Répondre

19

http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-49531485 dit:

valeur de type DOMString
Lorsque l'attribut type de l'élément a la valeur « text », « fichier » ou « password », ce qui représente le contenu actuel du contrôle de formulaire correspondant, un agent d'utilisateur interactif.

<html> 
    <head><title>...</title> 
    <script type="text/javascript"> 
     function foo() { 
     var f = document.getElementById("f1"); 
     alert(""==f.value ? "nothing selected" : "file selected"); 
     } 
    </script> 
    </head> 
    <body> 
    <form> 
     <div> 
     <input id ="f1" type="file" name="x" /> 
     </div> 
    </form> 
    <button onclick="foo()">click</button> 
    </body> 
</html> 
6

J'utilise cette javascript:

var file_selected = false; 
function showNoFile() { 
    if(!file_selected) { alert('No file selected!'); } // or anything else 
} 

avec ce code HTML pour le bouton du fichier:

<input type='file' onchange="file_selected = true;" ...> 
.... 
<input type='submit' onclick='showNoFile();'> 

espoir qui aide!

+0

Je pense que c'est la meilleure réponse. Si vous voulez faire comme une requête AJAX quand quelqu'un choisit un fichier, la fonction 'onchange' est ce que vous voulez. Si vous utilisez simplement 'onclick', il se déclenche une fois que la boîte de dialogue de sélection de fichier est ouverte, mais avant qu'un fichier ne soit choisi. –

+1

ça ne marche pas en chrome ... si vous choisissez un fichier alors vous ne choisissez plus aucun fichier le fichier_selected reste vrai ce qui est incorrect. –

0

permet donc dire que vous avez une forme de HTML et vous avez une entrée de téléchargement de fichier personnalisé:

<label for="imageUploadButton"> 
<span class="btn" style="padding-left: 10px;">Click here for uploading a new picture</span> 
</label> 
<input type="file" name="avatar_picture" accept="image/gif,image/jpeg,image/png" id="imageUploadButton" style="visibility: hidden; position: absolute;"> 

Et vous voulez vérifier le nom du fichier que l'utilisateur a choisi/sélectionné:

aide jquery

<script type="text/javascript"> 
    $(function() { 
    $("input:file").change(function(){ 
     var fileName = $(this).val(); 
     alert(fileName); //Do with the filename whatever you want 
    }); 
    }); 
</script> 

@https://stackoverflow.com/a/5670938/2979938

Pour ceux qui utilisent requireJS:

$("input:file").change(function() { 
    var fileName = $(this).val(); 
    alert(fileName); //Do with the filename whatever you want 
}); 
Questions connexes