1

我正在尝试将 3D Secure 支付逻辑与 javascript 集成。当我将信用卡信息发布到银行时,我收到了一个回复 html。这个 html 将屏幕重定向到银行的 3D 密码屏幕,即

<html>
    <head>
    <title>MDpay default response template for web</title>
    </head>
    <body bgcolor="#02014E" OnLoad="OnLoadEvent();" >
    <form name="downloadForm" action="https://katmai.est.com.tr/mdpayacs/pareq" method="POST">
     <!-- Some Input Fields -->
    </form>
    <SCRIPT LANGUAGE="Javascript" >


    function OnLoadEvent() {
    document.downloadForm.submit();
    }

    </SCRIPT>
    </body>
    </html>

如果我们想在弹出屏幕中打开这个 html,OnLoadEvent 不会被触发:

var popup = window.open('','');
popup.document.write("'"+data+"'");
popup.focus();

但是,如果这确实有效,那一切都很好。我在正文中调用 onload 函数,所以我不在乎在 OnLoad 中要调用的函数是什么。

var popup = window.open('','');
popup.document.write("'"+data+"'");
popup.document.body.onload();
popup.focus()

但是,我们不想在弹出窗口中执行此操作,我们不想打开新的选项卡或页面。我们想在从用户那里获取值的同一屏幕上执行此操作。所以我将返回的 html 写入一个 div,但是因为一个 html 中不能有 2 个 body 标签,浏览器不包含新的 body 标签其中包括 OnLoad 函数名称..

document.getElementById('vpos').innerHTML=data;
document.downloadForm.submit() // this is the code that works in OnLoad function.if a write that code statically of course it works, but this code logic can always change. 

我将如何解决这个问题。希望我清楚..

4

0 回答 0