如果条件在jQuery中为假,如何显示模态?

时间:2019-11-22 09:45:16

标签: javascript jquery

在这段代码中,我只是上传一个文件,然后检查文件扩展名。如果条件为true,则显示一条alert消息,如果条件为false,则它将打开一个模式。

当我选择任何图像时,现在会发生的情况是,它首先显示alert消息,然后打开模式。我不知道为什么会这样。我该如何解决?

$('#upload_image_student').on("change", function() {
  var fileExtension = ['jpeg', 'jpg'];
  if ($.inArray($(this).val().split('.').pop().toLowerCase(), fileExtension) == -1) {
    alert("Only '.jpeg','.jpg' formats are allowed.");
  } else {
    $("#uploadimageModalStudent").modal("show");
  }
})

2 个答案:

答案 0 :(得分:0)

您还可以使用“ accept”属性,以便只能选择指定的扩展名。 (jpeg,jpg)

<input type="file" accept=".jpeg, .jpg"/>

希望有帮助。

答案 1 :(得分:0)

$('#upload_image_student').on("change", function(){
    var file = this.files[0];
    var file_type = file['type'];

    const valid_extensions = ["image/jpeg", "image/jpg"];

    if($.inArray(file_type, valid_extensions) < 0){
        alert("Only '.jpeg','.jpg' formats are allowed.");
    }
    else{
        //alert("Valid");
        $("#uploadimageModalStudent").modal("show");
    }
})

您可以尝试使用此代码吗?