Javascript 如何在Submit上获取表单以检查Google Checkout按钮的条款
我正在使用Google Checkout,但onsubmit函数有问题 我设置了一个“同意条款”复选框,以便用户在继续结账之前必须接受条款。我正在调用HTML表单元素上的函数Javascript 如何在Submit上获取表单以检查Google Checkout按钮的条款,javascript,html,forms,google-checkout,html-input,Javascript,Html,Forms,Google Checkout,Html Input,我正在使用Google Checkout,但onsubmit函数有问题 我设置了一个“同意条款”复选框,以便用户在继续结账之前必须接受条款。我正在调用HTML表单元素上的函数 function preCheckout() { if( !document.getElementById('terms').checked ) { // Requirements not accepted. $('.warning').animate({to
function preCheckout() {
if( !document.getElementById('terms').checked ) {
// Requirements not accepted.
$('.warning').animate({top: -$('.warning').outerHeight()}, 500);
return false;
}
}
其中包含google checkout按钮,如下所示:
<form method="POST"
action="https://sandbox.google.com..."
accept-charset="utf-8" onsubmit="preCheckout();">
<div>
<input type="checkbox" id="terms" name="accept_terms" value="" />
<p>I agree to all the terms and requirements...</p>
</div>
<input type="hidden" name="item_name_1" value="Simple Notes Monthly Subscription"/>
<input type="hidden" name="item_description_1" value=""/>
<input type="hidden" name="item_quantity_1" value="1"/>
<input type="hidden" name="item_price_1" value=""/>
<input type="hidden" name="item_currency_1" value="USD"/>
<input type="hidden" name="shopping-cart.merchant-private-data" value="" />
<input type="hidden" name="tax_rate" value="0.065"/>
<input type="hidden" name="tax_us_state" value="UT"/>
<input type="hidden" name="_charset_"/>
<input type="hidden" name="continue-shopping-url" value="/thankyou.php" />
<input type="image" name="Google Checkout" id="google-btn" alt="Fast checkout through Google"
src="https://checkout.google.com/buttons/checkout.gif?merchant_id=id&w=180&h=46&style=trans&variant=text&loc=en_US"
height="46" width="180"/>
</div>
</form>
我同意所有的条款和要求
但是,无论是否选中复选框,页面都将继续
我错过了什么?仅供参考
当您直接进入submit行时,它是self,您分别返回true
或false
,对吗?像这样:
onsubmit=“return false;”
好吧,让我们分析一下代码中实际发生了什么。因为您可能会在代码中返回false
,这里有两种可能在提交时发生的情况
onsubmit="false" // form is a success and performs form action
onsubmit="" // form is a success and performs form action
但您真正需要的是onsubmit=“return false;”或onsubmit=“return true;”
所以您需要做以下几点:
function preCheckout() {
if( !document.getElementById('terms').checked ) {
// Requirements not accepted.
$('.warning').animate({top: -$('.warning').outerHeight()}, 500);
return false;
}
// return true if everything is fine
return true;
}
然而,最重要的部分是:
<!-- all I did was add a "return" to your onsubmit -->
<form method="POST" action="https://sandbox.google.com..." accept-charset="utf-8" onsubmit="return preCheckout();">