繁体   English   中英

如何确认一个公司,但在两者之间设置一个 function?

[英]How to confirm a firm but set a function in-between?

我有一个脚本,它检查我的应用程序中的每个表单,如果有一个被提交,它将阻止提交,切换加载屏幕,然后提交表单。

<script>
  document.addEventListener('DOMContentLoaded', () => {

      const forms = document.querySelectorAll('form');
      forms.forEach((form) => {
        form.addEventListener('submit', (e) => {
          e.preventDefault();
          document.getElementById('loading').classList.toggle('hidden');
          form.submit();
        })
      });

  });

</script>

这非常有效,但对于某些 forms(如删除按钮),我想问用户这是否真的是他想要做的:

<form method="post" action="<?=base_url('clients/' . $meeting->cid);?>" onsubmit="return confirm('Are you sure?');">
  <input type="hidden" name="delmeeting" value="<?=$meeting->id;?>">
  <input type="submit" value="Delete" class="button">
</form>

这与第一个脚本冲突。 警报显示正确,但是当我取消它时,第一个脚本到位并提交。

我该如何处理?

对我来说重要的是:

  • 每次为每个表单显示加载 div
  • 有可能有 forms 有和没有确认 window
  • 保持代码小
  • 有单独的确认文本

知道了:

const forms = document.querySelectorAll('form');
forms.forEach((form) => {
  form.addEventListener('submit', (e) => {
    if (form.onsubmit === null) {
      e.preventDefault();
      document.getElementById('loading').classList.toggle('hidden');
      form.submit();
    }
  })
});
``

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM