Je sélectionne le type de document à partir de l'option de sélection, puis télécharge le fichier afin de le valider dans le code
<form name="file_up_form" method="post" name="fileupload" enctype="multipart/form-data">
<div class="field_container1 thumbnail span3">
<label for="select_option">Select option here</label>
<select name="doc_type" id="select_option" style="width: 200px;" multiple>
<option value="1">Education</option>
<option value="2">Certification</option>
<option value="3">Client Paperwork</option>
<option value="4">Invoice</option>
</select>
</div>
<div class="field_container thumbnail span4">
<label for="file">Upload here: </label>
<input type="file" name="file" id="file">
<input class="btn btn-primary" type="submit" value="submit" name="submit">
</div>
<input type="hidden" name="check" value="1">
</form>
Voici le code de validation que j'utilise jusqu'à présent:
<script>
function validate()
{
if(document.fileupload.doc_type.value == "" && document.fileupload.doc_type.value == null)
{
alert( "Please provide your document!" );
return false;
}
if(document.fileupload.file.value == "" && document.fileupload.file.value == null)
{
alert( "Please provide your file!" );
return false;
}
return true;
}
</script>
Remplacez document.fileupload.doc_type.value
Par document.getElementById('file').value
. De plus, vous vérifiez si la valeur est ""
AND null
, je ne suis pas sûr que ce soit possible.
Sauf si vous devez vérifier le format du fichier, etc., essayez quelque chose de plus simple, comme ceci:
HTML
<form onsubmit="return(validate());" name="file_up_form" method="post" name="fileupload" enctype="multipart/form-data" >
<div class="field_container1 thumbnail span3">
<label for="select_option">Select option here</label>
<select name="doc_type" id="select_option" style="width: 200px;" multiple>
<option value="1">Education</option>
<option value="2">Certification</option>
<option value="3">Client Paperwork</option>
<option value="4">Invoice</option>
</select>
</div>
<div class="field_container thumbnail span4">
<label for="file">Upload here: </label>
<input type="file" name="file" id="file">
<input class="btn btn-primary" type="submit" value="submit" name="submit">
</div>
<input type="hidden" name="check" value="1">
</form>
JavaScript
<script>
function validate()
{
if(!document.getElementById('file').value)
{
alert( "Please provide your document!" );
}
return false;
}
</script>
Ne devriez-vous pas également renvoyer false
(et non true
comme vous le faites actuellement) si aucun fichier n'est sélectionné pour empêcher le formulaire d'être soumis? La balise <form>
Devrait probablement inclure également un paramètre action
.