使用Javascript if函数显示SweetAlert弹出窗口

时间:2019-03-13 13:05:12

标签: javascript html sweetalert sweetalert2

如果当前关闭了上传,我想显示一个SweetAlert弹出窗口,这是由具有“ upload-off”类的li元素设置的。

如何合并if Javascript条件以显示弹出窗口,而如果{upper-on“类存在<li>

,则什么也不做

我打算以后在页面上使用Vue,因此最好使用Javascript而不是jQuery(因为我在这里可能会与Vue和jQuery发生冲突)

<!-- There are two classes which toggle, upload-off and upload-on-->
<li class="uploadli upload-off">
    <p>Upload Off</p>
</li>

<input value="" id="myuploadbutton" type="file" name="Uploader" placeholder="Upload here">

<!-- Sweetalert Popup - Only display popup if uploads are currently disabled



function upload_check() {
swal({
    text: "Uploads are currently disabled, please apply here at http://www.example.com/apply",
    icon: "error",
    buttons: ['Apply Now'],
    dangerMode: true
    })
    .then(function(value) {
    console.log('returned value:', value);
    });
}

-->

概述:用户单击上载按钮,如果<li>元素上存在类“ upload-off”,我们将弹出SweetAlert弹出窗口

这是类似的SweetAlert问题

How to show SweetAlert in JavaScript

2 个答案:

答案 0 :(得分:1)

因此请检查该元素是否存在

document.querySelector("#myuploadbutton")
  .addEventListener('click', function(evt) {
    var li = document.querySelector('li.uploadli.upload-off');
    if (li) {
      evt.preventDefault()
      swal({
        text: "Uploads are currently disabled, please apply here at http://www.example.com/apply",
        icon: "error",
        buttons: ['cancel', 'Apply Now'],
        dangerMode: true
      }).then(function(value) {
        console.log('returned value:', value);
        if (value) {
          // window.location.href = "//www.example.com/apply"
        }
      });
    }
  })
<script src="https://unpkg.com/sweetalert/dist/sweetalert.min.js"></script>
<ul>
  <li class="uploadli upload-off">
    <p>Upload Off</p>
  </li>
</ul>

<input value="" id="myuploadbutton" type="file" name="Uploader" placeholder="Upload here">

答案 1 :(得分:1)

尝试此操作,在upload-off事件中添加click检查的if条件。

删除行 event.returnValue = true; ,如果您不想在上传时执行任何操作

$("input[type=file]").on('click', function(event) {
  if (document.querySelector('li.uploadli.upload-off')) {
    swal({
        text: "Uploads are currently disabled, please apply here at http://www.example.com/apply",
        icon: "error",
        buttons: ['Apply Now'],
        dangerMode: true
      })
      .then(function(value) {
        console.log('returned value:', value);
      });
    event.preventDefault();
    //do something
  } else if (document.querySelector('li.uploadli.upload-on')) {
    swal({
        text: "Uploads are currently disabled, please apply here at http://www.example.com/apply",
        icon: "error",
        buttons: ['Apply Now'],
        dangerMode: true
      })
      .then(function(value) {
        console.log('returned value:', value);
      });
    event.returnValue = true; //delete if you want to do nothing on upload-on
    //   alert("nothing is done");

  } else {
    alert("nothing");
  }

});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/sweetalert/2.1.2/sweetalert.min.js"></script>
<li class="uploadli upload-off">
  <p>Upload Off</p>
</li>

<input value="" id="myuploadbutton" type="file" name="Uploader" placeholder="Upload here">