не работает исправить мой код JavaScript для проверки размера файла? - PullRequest
0 голосов
/ 20 января 2019

Я разработал форму для загрузки фотографий участников с помощью php и javascript.

У меня есть PHP-код для проверки формы загрузки на стороне сервера, а также код для проверки формы загрузки на стороне клиента. Код PHP работает нормально, но код JavaScript отображает предупреждение, когда проверяет размер файла и представление ошибок. Если размер файла превышает 100 КБ, он выдаст предупреждение, но не прекратит загрузку файла.

Код подтверждения JavaScript:

   <script language="javascript">
       function findSize()
       {
            var fileInput =  document.getElementById("fileup");
            try{
                var fsize=fileInput.files[0].size;
                var fsizekb1=fsize/1024;
                if(fsizekb1>100)
                {
                    //alert(fileInput.files[0].size+"vv"); // Size returned in bytes.
                    alert("your file is bigger than 100 KB and size of your file is "+fsizekb1.toFixed(2)+" KB");
                    return false;
                }
            }catch(e){

                var objFSO = new ActiveXObject("Scripting.FileSystemObject");
                var e = objFSO.getFile( fileInput.value);
                var fileSize = e.size;

                var fsizekb=filesize/1024;
                if(fsizekb>100)
                {
                    //alert(fileSize);
                    alert("your file is bigger than 100 KB and size of your file is "+fsizekb1.toFixed(2)+" KB");
                    return false;
                }
            }
            return true;
        }

    function up_control()
      {

            if(document.forms["frm_up"]["up"].value=='')
            {
            alert ("please select your photo by Browse");
            return false;  
            }
        if(document.forms["frm_up"]["cptch"].value=='')
            {
            alert ("please write the picture code");
            return false;
            }

            findsize();

      return true;
      }
    </script>

и форма для загрузки:

<form method="post" enctype="multipart/form-data" name="frm_up" onSubmit="return up_control()">
<input id="fileup" style=" margin-right:3%;" type="file" name="up" accept="image/jpeg,image/x-png,.jpg"  ><br> <br>


<!--===========start Area==Captcha====================================================================================
=====================================================================================================================
=====================================================================================================================
-->


    <img style="" HEIGHT="55px" src="cptch.php?cpf=<?php echo rand(1111,999999999); ?>" id='captchaimg' border="2" >&nbsp;&nbsp;&nbsp;&nbsp;<br>
    <label  for="message" style="margin-right:1%">write number in above picture:</label><br>
    <input style="width: 8em" id="cptch" name="cptch" type="text" autocomplete="off" ><br>
    <Label  style="margin-right:1%;" id="captex_chng_lbl">Can't Read the picture?  <br id="br_cap_chng"><a href='javascript: refreshCaptcha();' style="color:#909;" id="rmz2" class="captex_chng">Change</a></label><br><br>
    <script language='JavaScript' type='text/javascript'>
        function refreshCaptcha()
        {
            var img = document.images['captchaimg'];
            img.src = img.src.substring(0,img.src.lastIndexOf("?"))+"?cpf="+Math.random()*1000;
        }

    </script>

<!--===========END Area==Capcha======================================================================================
=====================================================================================================================
=====================================================================================================================
-->
<input type="hidden" name="upl" value="1">

<input style=" margin-right:3% !important;" type="submit" value="  Send to see " >&nbsp;<input type="button" style="background-color:#FF8080; margin-right:5%;"  value="&nbsp;&nbsp;&nbsp;cancel  &nbsp;&nbsp;&nbsp;" onClick="document.location='index.php?c=regm'" ><br><br>
</form> 

Почему код JavaScript не работает должным образом при проверке размера функции изображения и не препятствует загрузке файла после ошибки отображения (оповещения)?

1 Ответ

0 голосов
/ 20 января 2019

Прежде всего, я благодарю Магнуса Эрикссона за хорошее руководство, которое он имеет.Но последняя строка относится к тому моменту, когда все правильно и нужно вернуть истинное значение, но добавив return до того, как функция findsize() в проблеме up_control() будет решена.

...