You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

表单校验需求:input1与input2值相等则提交否则触发popover权限提示

可行实现方案

你使用的是Bootstrap的popover组件,使用前请确保页面已正确引入对应依赖:

  • Bootstrap 4/5 核心CSS文件
  • Popper.js(Bootstrap 5已内置,使用Bootstrap 4需额外引入)
  • Bootstrap 核心JS文件

原生JS + Bootstrap 5 实现代码

document.addEventListener('DOMContentLoaded', function() {
  // 获取DOM元素
  const targetForm = document.querySelector('form[action="action.php"]');
  const input1 = document.getElementById('input1');
  const input2 = document.getElementById('input2');
  const triggerBtn = document.querySelector('button[data-toggle="popover"]');

  // 初始化popover,设置为手动触发
  const popoverInstance = new bootstrap.Popover(triggerBtn, {
    trigger: 'manual',
    placement: 'top'
  });

  // 绑定按钮点击事件
  triggerBtn.addEventListener('click', function() {
    const val1 = input1.value.trim();
    const val2 = input2.value.trim();

    if (val1 === val2) {
      // 输入值相等,提交表单
      targetForm.submit();
    } else {
      // 输入值不等,修改popover标题后弹出
      popoverInstance._config.title = "You don't have permission";
      popoverInstance.show();
      // 3秒后自动隐藏弹出框,可根据需要调整时长或删除该逻辑
      setTimeout(() => {
        popoverInstance.hide();
      }, 3000);
    }
  });
});

jQuery + Bootstrap 4 实现代码

如果你使用的是Bootstrap 4版本,可直接用以下代码:

$(function() {
  // 初始化popover
  $('button[data-toggle="popover"]').popover({
    trigger: 'manual'
  });

  // 绑定按钮点击事件
  $('button[data-toggle="popover"]').click(function() {
    const val1 = $('#input1').val().trim();
    const val2 = $('#input2').val().trim();
    if (val1 === val2) {
      $('form[action="action.php"]').submit();
    } else {
      $(this).attr('data-original-title', "You don't have permission").popover('show');
      // 3秒后自动隐藏
      setTimeout(() => {
        $(this).popover('hide');
      }, 3000);
    }
  });
});

之前代码不生效的常见原因

  • 未手动初始化popover:Bootstrap的popover不会自动初始化,必须手动调用初始化代码才会生效
  • 未设置trigger: 'manual':默认的hover/click触发逻辑会和自定义点击事件冲突,导致弹出逻辑异常
  • 未处理输入值前后空格:用户输入时可能意外输入空格,导致肉眼相同的内容被判断为不等

内容的提问来源于stack exchange,提问作者Doru Bolboceanu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 09:54:03