Php don';在插入有效的文件扩展名之前,不允许提交表单

Php don';在插入有效的文件扩展名之前,不允许提交表单,php,forms,file,submit,file-extension,Php,Forms,File,Submit,File Extension,目前,我能够在包含错误的文件扩展名或大小时显示警报。但是,一旦我关闭了警报框,我仍然能够单击submit按钮进入code.php,然后显示一条错误消息。我的code.php中有一个if语句(我在这里没有包含该文件),用于检查代码中的文件ext和大小,并在adddoc.php上返回和显示错误 但我想要的是,当插入错误的文件ext时,我希望提交按钮在插入正确的ext之前不起作用。可能吗 adddoc.php: <script> //CHECK FILE SIZE

目前,我能够在包含错误的文件扩展名或大小时显示警报。但是,一旦我关闭了警报框,我仍然能够单击submit按钮进入code.php,然后显示一条错误消息。我的code.php中有一个if语句(我在这里没有包含该文件),用于检查代码中的文件ext和大小,并在adddoc.php上返回和显示错误

但我想要的是,当插入错误的文件ext时,我希望提交按钮在插入正确的ext之前不起作用。可能吗

adddoc.php:

 <script>
      //CHECK FILE SIZE
        function OnFileValidation() {
          var image = document.getElementById("doc");
        if (typeof (image.files) != "undefined") {
            var size = parseFloat(image.files[0].size / (1024 * 1024)).toFixed(2); 
            if(size > 1) {
                alert('Please select image size less than 2 MB');
            }
        } else {
            alert("This browser does not support HTML5.");
        }
      //CHECK FILE EXT
            var fileInput = 
                document.getElementById('doc');
              
            var filePath = fileInput.value;
          
            // Allowing file type
            var allowedExtensions = 
          /(\.doc|\.docx|\.odt|\.tex|\.txt|\.rtf|\.wps|\.wks|\.wpd|\.png|\.jpg|\.jpeg|\.png)$/i;
              
            if (!allowedExtensions.exec(filePath)) {
                alert('Invalid file type');
                fileInput.value = '';
                return false;
            } 
        }
    </script>

<style>div.ex1 {
  width: 700px;
  margin: auto;
}</style>

<?php
//check error
if(isset($_SESSION['success']) && $_SESSION['success'] !='')
{
    echo '<h2 class="alert alert-warning alert-dismissible fade show" role="alert"> '.$_SESSION['success'].'</h2> ';
    unset($_SESSION['success']);
}

if(isset($_SESSION['status']) && $_SESSION['status'] !='')
{
    echo '<h2 class="bg-danger text-white"> '.$_SESSION['status'].'</h2> ';
    unset($_SESSION['status']);
}

?>
<div class="ex1">
<form action="code.php" method="POST" enctype="multipart/form-data">

<hr style="border-top: 3px solid #ccc; background: transparent;">

<h5>Add Documents</h5>
<hr style="border-top: 1px solid #ccc; background: transparent;">

<div class="form-group" >
            <label>Title</label>
            <input type="text" name="doc_title" class="form-control"  required>

        </div>

<div class="form-group" >
            <label>Documents </label>
            <input type="file" name="doc" class="form-control"  id="doc" onchange="OnFileValidation()" required>
          </div>                
    
      <div class="float-right mb-2">
        
      <button type="submit" name="adddoc" class="btn btn-primary">Save</button>
      <a href="doc.php" class="btn btn-danger">Cancel</a>
      
      </div>
</form>

</div>

//检查文件大小
函数onLevalidation(){
var image=document.getElementById(“doc”);
if(typeof(image.files)!=“未定义”){
var size=parseFloat(image.files[0].size/(1024*1024)).toFixed(2);
如果(大小>1){
警报('请选择小于2 MB的图像大小');
}
}否则{
警报(“此浏览器不支持HTML5”);
}
//检查文件扩展
var fileInput=
document.getElementById('doc');
var filePath=fileInput.value;
//允许文件类型
var allowedExtensions=
/(\.doc\.docx\.odt\.tex\.txt\.rtf\.wps\.wpd\.png\.jpg\.jpeg\.png)$/i;
如果(!allowedExtensions.exec(文件路径)){
警报(“无效文件类型”);
fileInput.value='';
返回false;
} 
}
第ex1分部{
宽度:700px;
保证金:自动;
}

添加文档
标题 文件 拯救
document.getElementById(“按钮”).disabled=true这假设您的提交按钮具有id=“button”