加载文件时阻止点击表单按钮

时间:2017-07-26 18:26:10

标签: javascript jquery

我使用以下代码段,允许用户通过一个上传按钮上传最多3个文件。在上传文件时,将运行动画来代替上传按钮。

我的要求是我需要阻止用户在上传文件时点击任何输入字段按钮。我不想为此使用hide()函数。在文件上传/加载动画运行时,是否有一种方法可以阻止输入字段按钮被点击。 最近开始使用jQuery,所以仍然是一个初学者,因此很想使用一个简单的解决方案。谢谢!

<script type="text/javascript">
    $(document).ready(function() {
        $(document).on("click", ".UploadBtn", function(event) {
            $(".p").each(function(file) {
                if  ($(this).val()) {
                    $(".loader").show();
                    $(".spinner").show();
                    $(".UploadBtn").hide();
                }
            })
        });
    });
</script>

我的HTML代码如下。 &#34; p&#34; class用于{{ form.photo1 }}{{ form.photo2 }}&amp; {{ form.photo3 }};

<div class="mtl mbl">
{{ form.photo1 }}
</div>
<div class="loader">
<div class="spinner"></div>
loading</div>
<input type="submit" class="UploadBtn btn bm bco mbs mts" style="border-color:#f57c00;" value="Upload">

<div class="mtl mbl">
{{ form.photo2 }}
</div>
<div class="loader">
<div class="spinner"></div>
loading</div>
<input type="submit" class="UploadBtn btn bm bco mbs mts" style="border-color:#f57c00;" value="Upload">

<div class="mtl mbl">
{{ form.photo3 }}
</div>
<div class="loader">
<div class="spinner"></div>
loading</div>
<input type="submit" class="UploadBtn btn bm bco mbs mts" style="border-color:#f57c00;" value="Upload">

enter image description here

  

当红色按钮指向的上传按钮是   点击一个动画开始在文件所在的位置运行   上传。在此期间,我想阻止任何人点击   在选择文件()上,蓝色箭头指向它。

2 个答案:

答案 0 :(得分:0)

尝试使用prop禁用上传按钮

$(document).ready(function() {
 $(document).on("click", ".UploadBtn", function(event) {
  $(".p").each(function(file) {
    if  ($(this).val()) {
      $(".loader").show();
      $(".spinner").show();
      $(".UploadBtn").prop("disabled", "true");
    }
  })
 });
});

答案 1 :(得分:0)

jQuery 1.6 + 中,您可以动态地将atrribute attr='disabled'attr='readonly'添加到输入字段,直到您确认文件已加载为止:

// put this within the code that checks if the files are still loading
$(".UploadBtn").prop('disabled', true);

// within the code that checks if the files have successfully loaded, make sure to use the following
$(".UploadBtn").prop('disabled', false);

另请快速查看详细答案中prop的内容。