Vérifier le type de fichier de formulaire soumettre?
J'ai le formulaire d'avoir les champs suivants,
<form onsubmit="return checkcreateform()" action="/gallery/create" method="post" enctype="multipart/form-data">
<label>Type:*</label>
<label for="type-1">
<input type="radio" checked="checked" value="1" id="type-1" name="type">Image
</label>
<br>
<label for="type-2">
<input type="radio" value="2" id="type-2" name="type">Video
</label>
<label class="itemdetailfloatL required" for="file">File:*</label>
<input type="hidden" id="MAX_FILE_SIZE" value="8388608" name="MAX_FILE_SIZE">
<input type="file" tabindex="5" class="text-size text" id="file" name="file">
<input type="submit" value="Create" id="submit" name="submit">
</form>
Je veux valider avant de soumettre le formulaire. Voici comment puis-je valider si l'utilisateur sélectionnez le type d'Image et upload de la vidéo ou sélectionnez le type de vidéo et de téléchargement de l'image ?
Nous pouvons atteindre cet objectif en javascript ou jquery.Tout moyen rapide pour valider cette ?
De bien vouloir m'aider sur ce point.
- J'utilise jQuery Validation plugin: bassistance.de/jquery-plugins/jquery-plugin-validation
- Il y a un "accepter" attribut bientôt, ce n'est pas vraiment encore pris en charge, mais regardez : w3schools.com/jsref/prop_fileupload_accept.asp Normalement, la seule sûre et plus efficace pour ce faire serait serverside, mais vous pouvez seulement de vérifier les extensions de fichiers avec javascript ou jQuery validate du plugin.
Vous devez vous connecter pour publier un commentaire.
Au lieu d'utiliser
onsubmit
, l'utilisation de jQuery gestionnaire de soumission, et de valider à l'aide de javascript comme suit:jsFiddle version ici, testé avec IE8, RockMelt (basé sur Chrome et Firefox 7: http://jsfiddle.net/Ngrbj/4/
getExtension(filename)
à un paquebotreturn filename.split('.').pop()
ou mieux, sireturn (/[.]/.exec(filename)) ? /[^.]+$/.exec(filename) : undefined;
La réponse fournie fonctionne, mais quelque chose qui va courir un peu plus vite, avec beaucoup moins de lignes de code validation, à l'aide de javascript les fonctions de tableau:
Ensuite, l'instruction if dans la soumettre code est remplacé par:
À l'aide de fichiers de propriété sur entrée:fichier vous pouvez faire une boucle à travers les objets de fichier et vérifier le type de la propriété
JS:
HTML:
vous pouvez essayer ceci:
Vous pouvez utiliser cette fonction dans votre
checkcreateform()
D'abord, vous devez modifier votre code html comme ceci:
Ensuite, vous avez besoin d'une fonction comme ceci:
Chaque type de Fichier a un "type" de la propriété, par exemple: 'image/jpeg', "audio/mp3" et ainsi de suite...
C'est un exemple pour une façon de vérifier le type de fichier en utilisant le 'match' de la méthode (de chaînes):
Vous pouvez également écrire le booléen façon: