亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

無法使用 PHP 和 Stripe 支付網關驗證表單

無法使用 PHP 和 Stripe 支付網關驗證表單

PHP
慕絲7291255 2021-12-03 15:36:10
我需要驗證我使用 Stripe 支付網關定期支付的表單。我的代碼如下。<form method="post" action="charge.php" name="renew" onsubmit="return validate();"><input type="radio" name="package" id="package" mode="normal" duration="30" text="1 Monat" value="29.90"> 29.90 € Pro Werbeanzeige-Laufzeit: 1 Monat<br><input type="radio" name="package" id="package" mode="normal" duration="60" text="2 Monate" value="49.90"> 49.90 € Pro Werbeanzeige-Laufzeit: 2 Monate<br><input type="radio" name="package" id="package" mode="normal" duration="90" text="3 Monate" value="59.90"> 59.90 € Pro Werbeanzeige-Laufzeit: 3 Monate<br><input type="radio" name="package" id="package" mode="recurring" duration="30" text="Monate" value="19.90"> 19,90 € Monate<br><input name="oid" type="hidden" value="<?=$oid;?>" /><input name="mode" id="mode" type="hidden" value="" /><input name="duration" id="duration" type="hidden" value="" /><!--<input type="submit" name="makepayment" value="Pay" > --><script src="https://checkout.stripe.com/checkout.js" class="stripe-button"          data-key="<?php echo $stripe['publishable_key']; ?>"          data-name="GOALSTART"          data-description="1 Monate"          data-panel-label="Abonnieren"          data-label="PAY NOW"          data-locale="auto">></script></form><script type="text/javascript">  function validate(){    console.log('hello');    if (document.getElementById('package').checked) {        //alert("checked submit form");        return true;    } else {        alert("Unchecked form will not be submitted");        return false;    }  }</script>在這里我需要,如果單選按鈕沒有被選中,那么表單將不會提交。但根據我的代碼,它無法檢查驗證。
查看完整描述

2 回答

?
夢里花落0921

TA貢獻1772條經驗 獲得超6個贊

在 checkout.stripe.com 腳本周圍添加一個 div。由于“立即付款”是動態生成的,因此您無法對其進行太多控制。所以你可以通過以下方法限制點擊它。


<!DOCTYPE html>

<html>

<head>

  <title></title>

  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>

</head>

<body>

<form method="post" action="charge.php" name="renew" onsubmit="validate();">

<input type="radio" name="package" id="package-1" mode="normal" duration="30" text="1 Monat" value="29.90" required="true"> 29.90 € Pro Werbeanzeige-Laufzeit: 1 Monat<br>

<input type="radio" name="package" id="package-2" mode="normal" duration="60" text="2 Monate" value="49.90"> 49.90 € Pro Werbeanzeige-Laufzeit: 2 Monate<br>

<input type="radio" name="package" id="package-3" mode="normal" duration="90" text="3 Monate" value="59.90"> 59.90 € Pro Werbeanzeige-Laufzeit: 3 Monate<br>

<input type="radio" name="package" id="package-4" mode="recurring" duration="30" text="Monate" value="19.90"> 19,90 € Monate<br>

<input name="oid" type="hidden" value="<?=$oid;?>" />

<input name="mode" id="mode" type="hidden" value="" />

<input name="duration" id="duration" type="hidden" value="" />

<!--<input type="submit" name="makepayment" value="Pay" > -->

<div class="checkout-part-wrapper">

<script src="https://checkout.stripe.com/checkout.js" class="stripe-button"

          data-key="<?php echo $stripe['publishable_key']; ?>"

          data-name="GOALSTART"

          data-description="1 Monate"

          data-panel-label="Abonnieren"

          data-label="PAY NOW"

          data-locale="auto">>

</script>

</div>

</form>

<script type="text/javascript">

  jQuery('.checkout-part-wrapper').css('pointer-events', 'none');

  jQuery('input[type=radio][name=package]').change(function() {

    jQuery('.checkout-part-wrapper').css('pointer-events', 'auto');

  });

</script>

</body>

</html>


查看完整回答
反對 回復 2021-12-03
?
慕萊塢森

TA貢獻1810條經驗 獲得超4個贊

改變這一行

if (document.getElementById('package').checked) {

if (document.querySelectorAll('input[name=package]:checked').length) {


查看完整回答
反對 回復 2021-12-03
  • 2 回答
  • 0 關注
  • 235 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號