2013-08-26 3 views
1

У меня есть форма, в которой пользователь сначала выбирает, хотите ли они загрузить любой файл. Если да, то отображается 3 поля для загрузки.Подтвердить тип ввода = «файл» с помощью javascript

При нажатии кнопки submit существует функция JavaScript, которая проверяет наличие пустых полей. В этой функции, если выбрана опция загрузки файла, я проверяю, является ли тип ввода = «файл» пустым.

Ошибка, с которой я столкнулся, заключается в том, что даже после того, как пользователь выберет файл для загрузки, сообщение об ошибке для загрузки файла по-прежнему отображается.

Вот мой HTML код:

<!-- 3rd Fieldset STARTS --> 
<fieldset class="fieldSetSpace"> 
    <legend class="legendText">&nbsp; Upload Documents &nbsp;</legend> 

    <span id="yes"><input type="radio" name="rdoUploadDocu" id="rdoUploadDocuYes" tabindex="23" value="yes" onClick="javascript: showUploadDiv();" /></span> 
    &nbsp;Yes I have A Documents To Upload 

    <div id="divUploadDoc" style="display:none;"> 
     <span class="contact_table">Upload Document 1 </span> 

     <input type="file" name="files[]" id="file1" class="txtCoName" /> 

     <span class="contact_table">Upload Document 2</span> 

     <input type="file" name="files[]" id="file2" class="txtCoName" /> 

     <span class="contact_table">Upload Document 3</span> 

     <input type="file" name="files[]" id="file3" class="txtCoName" /> 
    </div> 
    <?php echo $errorResumeUpload; ?> 
    <br /> 
    <span id="no"><input type="radio" name="rdoUploadDocu" id="rdoUploadDocuNo" value="no" tabindex="24" onClick="javascript: hideUploadDiv();" /></span> 
    &nbsp;No I do not have A Documents To Upload 

    <div id="divUploadCheckError" class="divError"></div> 

</fieldset>   
<!-- 3rd Fieldset ENDS --> 

Вот мой JS функция:

else if (document.getElementById('rdoUploadDocuYes').checked) 
{  
    var upload1 = document.getElementById('file1').value; 
    var upload2 = document.getElementById('file2').value; 
    var upload3 = document.getElementById('file3').value; 

    alert(upload1); 
    alert(upload2); 
    alert(upload3); 

    if((upload1 == '') || (upload2 == '') || (upload3 == '')) 
    { 
     var objErrDiv = document.getElementById('divUploadCheckError'); 
     objErrDiv.innerHTML= 'Please upload at least one documents '; 
     objErrDiv.style.padding='4px 4px'; 
     objErrDiv.style.visibility='visible'; 
     objErrDiv.style.margin='10px 0px 2px 0px'; 
     return false; 
    } 
    else 
    { 
     return false; 
    } 
} 

Любая помощь будет оценена.

+0

Вы начинаете с 'else if' первым должно быть условие' if', есть ли код выше этого? –

+0

Mitchell да есть код выше этого .... – mkb

ответ

4

Я думаю, вам не хватает сменить innerHTML из objErrDiv div.

else if (document.getElementById('rdoUploadDocuYes').checked) 
{  
    var upload1 = document.getElementById('file1').value; 
    var upload2 = document.getElementById('file2').value; 
    var upload3 = document.getElementById('file3').value; 
    var objErrDiv = document.getElementById('divUploadCheckError'); 

    alert(upload1); 
    alert(upload2); 
    alert(upload3); 

    if(upload1 == '') 
    { 

     objErrDiv.innerHTML= 'Please upload at least one documents '; 
     objErrDiv.style.padding='4px 4px'; 
     objErrDiv.style.visibility='visible'; 
     objErrDiv.style.margin='10px 0px 2px 0px'; 
     return false; 
    } 
    else 
    { 
     objErrDiv.innerHTML=""; // Try adding this 
     return false; 
    } 
} 
+0

no that did nt work ...... Я hv отредактировал мой код выше .... может у PLZ взглянуть снова – mkb

+0

вы можете сделать jsfiddle? – Praveen

+0

Я пытаюсь проверить, все ли загружаемые файлы пустые. если какой-либо один загружаемый файл заполняется, то форма должна быть отправлена ​​.... – mkb