1

我正在使用带有 WP Ninja Forms 插件和 UIKit 模态组件的 jQuery 来创建和显示来自 Ninja Forms 问卷的动态警报。

我已经搜索了如何与 Ninja Forms 以及 jQuery 和 UIKit javascript 函数进行交互。这是代码:

var labelBtn = [
  // Set 1
  "#nf-label-class-field-36-0",
  "#nf-label-class-field-81-1",
  "#nf-label-class-field-70-1",
  "#nf-label-class-field-96-1",
  "#nf-label-class-field-91-1",

  // Set 2
  "#nf-label-class-field-101-0",
];

for ( var id in labelBtn ) {

  var btn = labelBtn[id];
  (function(nf) {
    $(document).on( 'nfFormReady', function( e, layoutView ) {

      $(document).on('click', nf, function( e, layoutView) {

        var alertText = $('.alertText').find("aside").text();

        console.log(alertText);

        if ( $('.alertText').length > 0 ) {
                          $(".alertModal figcaption h2").text( alertText );
        }

        UIkit.modal('#AlertConsulation', { bgClose: false }).show();
      });

    }); // End of nfFormReady
  }(btn));

} // End Label Button

基本上,我有 10 个不同的症状类别,每个症状类别都有多个问卷,每个问卷都有警报文本,当触发按钮时要显示。警报文本在标签内的 Ninja Forms 内是静态的,aside并且被拉出并显示到.alertModal figcaption h2.

这是当浏览器加载 Set 2,然后单击按钮 Yes。没有警报文本显示。 第一次点击按钮结果

这是当您单击“否”按钮并返回“是”按钮时,会显示警报文本。 第二次点击按钮结果

这里的问题是当我到达“Set 2”并单击一个按钮时,警报模式应该打开,并且在按钮触发后静态文本也应该就位。

注意:根据我的观察,nfFormReady浏览器完成加载后似乎没有立即加载。或者它可能是别的东西?

4

1 回答 1

0

这个案例是因为我的 Ninja Forms 条件逻辑。

我在表单加载时隐藏警报文本(html 代码标记),并在单击按钮时将其包装到另一个条件集,这是不通过我的 Modal 组件显示我的文本的原因。

以供参考:

条件逻辑并隐藏除介绍问卷之外的所有内容,包括警报文本。
修复:此处不应包含警报文本 条件逻辑 1

单击按钮时设置是按钮并显示警报文本
修复:我不应该有这种情况并让 CSS 隐藏警报文本。 在此处输入图像描述

于 2018-09-09T19:47:40.680 回答