【问题标题】:Best practice: submit a form to authorize.net (javascript?)最佳实践:向 authorize.net 提交表单(javascript?)
【发布时间】:2012-04-16 21:53:58
【问题描述】:

我正在使用 authorize.net 的 SIM 方法,该方法需要从用户浏览器向其 TLS 主机提交一个普通表单。设置在我的服务器上完成,我只需要创建表单并在页面加载时自动发布。

我希望它从浏览器中发布,以便用户可以在 authorize.net 的主机上填写信用卡信息并处理付款。我不希望我的服务器上有任何信用卡信息。

在这个过程中,没有数据可供用户输入,也没有更多的选择,这一切都是在我们到达这里之前发生的。

onLoad() 完成时似乎有点 jQuery 来触发提交。

这是解决问题的最佳方法吗?

【问题讨论】:

    标签: javascript jquery html authorize.net


    【解决方案1】:

    您甚至不需要 jQuery,因为它非常简单。一旦页面加载了您的表单,您只需要它自动提交您的表单。将此代码放在页面底部将为您完成此操作(假设表单名为myform):

    <script type="text/javascript">
        document.myform.submit();
    </script>
    

    如果您愿意,可以轻松调整以使用 jQuery,但它应该给您正确的想法。

    【讨论】:

    • 我正在做类似的事情,但是如果它违反 AuthNet TOS 来进行自动表单提交,我会感到紧张吗?另外,就我而言,我需要内联表单验证。因此,我提交到服务器上的脚本,将字段值存储在会话变量中,执行 DPM 自动表单提交,然后让 IPN 再次将错误吐回支付表单(如果有的话)。然后我使用会话变量按原样填写表单,但随后向用户显示错误。我不得不这样做,因为我无法让 jQuery/AJAX 工作 (stackoverflow.com/q/15873074/105539)。
    • 顺便说一句,这将在 Google Chrome 上产生错误。您需要使用 document.all.myform.submit() 或 document.forms[0].submit() (如果该页面上只有一个表单),或使用 document.getElementById('form1').submit ()。
    猜你喜欢
    • 1970-01-01
    • 2022-11-22
    • 2011-12-26
    • 2012-03-03
    • 2017-11-03
    • 1970-01-01
    • 2011-08-25
    • 2011-09-26
    • 1970-01-01
    相关资源
    最近更新 更多