如何订阅html表单的click事件?

2023-11-30

我有一个谷歌结帐“立即购买”按钮,我想添加动态创建的信息以在单击时发送。我怎么做?

该按钮的 html 是:

<form action="https://sandbox.google.com/checkout/..." id="Form1" method="post" name="..." target="_top">
<input name="item_name_1" type="hidden" value="..." />
...
<input alt="" src="https://sandbox.google.com/checkout/buttons/buy.gif?merchant_id=..." type="image" />
</form>

那么我要添加什么呢? (如果可能的话,我想通过 ASP.Net 代码来做到这一点。)

我尝试添加onclick="Button1_Click"但没有成功。


如果这是针对 Google Checkout,您应该考虑使用现有的用于 Google Checkout 的 .Net 库.

虽然上述建议可行,但正确(安全)的方法是记录在这里。 XML 替代方案(签名)是here,其中之一允许您以安全的方式直接向 Google 发送 FORM POST。

通过客户端方法提交总是会让您容易受到篡改——这与仅向 Google 发布基本的 HTML 表单相比(安全方面)没有什么区别。


Updated:

...不支持立即购买...

归根结底,有两件事使“立即购买”与任何其他“购物车”提交不同:

  1. 图片
  2. “立即购买”的单件商品购买(相对于其他实施方式的一件或多件商品)。

看到这个.Net 库中的示例代码。它应该给你所有你需要的......


Update 2:

图书馆没有任何“僵化”的东西。您不必使用其中的所有内容 - 您甚至可以利用已经为您创建的所有管道。

简单示例,使用 Google Checkout .Net 库实现 BUY NOW

网络表单代码 (aspx):

<p>Some ASP.net button:<br />
<asp:Button ID="Button1" runat="server" Text="BUY ME NOW" onclick="Button1_Click" /><br />

An ASP.NET Image Button using BUY NOW Image:<br />
<asp:ImageButton ID="ImageButton1" runat="server" ImageUrl="https://checkout.google.com/buttons/buy.gif?merchant_id=[USE YOUR OWN MERCHANT ID]&amp;w=117&amp;h=48&amp;style=white&amp;variant=text&amp;loc=en_US" onclick="ImageButton1_Click" />

此时,您在浏览器中看到的内容如下:

screen shot Google Checkout Buy Now

代码(内联或代码隐藏):

using GCheckout.Checkout;
using GCheckout.Util;

....

protected void Button1_Click(object sender, EventArgs e)
{
    doSomething();
}

protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
    doSomething();
}

private void doSomething()
{
    /**
     * Use the correct Merchant ID and Key based on GCheckout.EnvironmentType
     * You cannot mix/match sandbox and production id or key
     */
    CheckoutShoppingCartRequest Req = new CheckoutShoppingCartRequest("your_production_MID", "your_production_KEY", GCheckout.EnvironmentType.Production, "USD", 20);

    /**
     * Everything from this point is a copy and paste
     * from .net libary sample code
     * http://code.google.com/p/google-checkout-dotnet-sample-code/source/browse/examples/post_cart/simple.aspx
     */
    Req.AddItem("Mars bar", "Packed with peanuts", 0.75m, 2);

    //lets make sure we can add 2 different flat rate shipping amounts
    Req.AddFlatRateShippingMethod("UPS Ground", 5);

    //Add a rule to tax all items at 7.5% for Ohio
    Req.AddStateTaxRule("OH", 7.5, true);

    GCheckoutResponse Resp = Req.Send();
    if (Resp.IsGood)
    {
        Response.Redirect(Resp.RedirectUrl, true);
    }
    else
    {
        Response.Write("Resp.ResponseXml = " + Resp.ResponseXml + "<br>");
        Response.Write("Resp.RedirectUrl = " + Resp.RedirectUrl + "<br>");
        Response.Write("Resp.IsGood = " + Resp.IsGood + "<br>");
        Response.Write("Resp.ErrorMessage = " + Resp.ErrorMessage + "<br>");
    }
}

重要的

以上只是示例代码说明您可以使用 .Net 库做什么。为了遵守 Google Checkout 实施政策,请使用 ImageButton 实施- 它确保您正在使用 Google 的“立即购买”按钮(未更改等)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何订阅html表单的click事件? 的相关文章