代码之家  ›  专栏  ›  技术社区  ›  Jack

从Coldfusion调用javascript函数

  •  2
  • Jack  · 技术社区  · 6 年前

    尝试使用ColdFusion调用javascript弹出窗口。我没能做到。

    ColdFusion代码是直截了当的

    <cfif notpaid>
        <script type="text/javascript">
        notpaid();
        </script>
    </cfif>
    

    如果一个人“未付款”,它将弹出一个窗口。我试过了 alert() 它会弹出警报框,因此问题不在于此ColdFusion代码。

    其中一个相关的嵌入式Java脚本编写为:

    modalWin = new CreateModalPopUpObject();
    modalWin.SetLoadingImagePath("/dev/images/loading.gif");
    modalWin.SetCloseButtonImagePath("/dev/images/remove.gif");
    
    function notpaid() {
        modalWin.Draggable=false;
        modalWin.ShowURL('https://www.sample.com/sample.htm', 320, 350, "Heading");
    }
    function HideModalWindow() {
        modalWin.HideModalPopUp();
        window.document.forms[1].submit();
    }
    

    这个 modalWin.ShowURL 是显示弹出窗口的功能,当它与单击相关联时,即用户单击按钮,它将弹出窗口,该功能已被证明有效。

    在新的场景中,我使用ColdFusion在没有用户交互的情况下调用,但它不会弹出窗口。我相信问题在于javascript函数 notpaid() . 我试过不同的方法,但都没有用。我看到人们谈论CF是服务器端,javascript是客户端,但我不知道如何建立连接。我知道只要有适当的代码,就可以做到。我错过了什么?提前谢谢。

    1 回复  |  直到 6 年前
        1
  •  2
  •   Jack    6 年前

    我终于明白了。通过将“函数notpaid()”更改为:

    notpaid = function() {
        modalWin.Draggable=false;
        modalWin.ShowURL("https://www.sample.com/sample.htm", 320, 350, "Heading");
    }   
    

    弹出窗口起作用了。不知道为什么,但它成功了。