Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/237.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Braintree拖放UI字段验证_Php_Paypal_Braintree - Fatal编程技术网

Php Braintree拖放UI字段验证

Php Braintree拖放UI字段验证,php,paypal,braintree,Php,Paypal,Braintree,在一步结帐中,我有多种付款方式供客户选择,如Braintree、银行转账等。为了允许客户选择多种付款方式,我必须仅在选择Braintree作为付款方式时才强制使用Braintree字段。有没有什么方法可以让braintree字段(如信用卡、cvv等)成为非强制性的? 非常感谢您的帮助。我想我误解了您最初的问题。如果用户选择银行转账,那么您似乎希望能够绕过中途下车劫持。我制作了一个小演示来说明我将如何进行此操作: <!DOCTYPE html> <html lang="en"&g

在一步结帐中,我有多种付款方式供客户选择,如Braintree、银行转账等。为了允许客户选择多种付款方式,我必须仅在选择Braintree作为付款方式时才强制使用Braintree字段。有没有什么方法可以让braintree字段(如信用卡、cvv等)成为非强制性的?
非常感谢您的帮助。

我想我误解了您最初的问题。如果用户选择银行转账,那么您似乎希望能够绕过中途下车劫持。我制作了一个小演示来说明我将如何进行此操作:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title></title>
</head>
<body>
  <form id="myform" action="/" method="get">
    <label for="pay-with">Pay with card</label>
    <input id="pay-with-cc" type="radio" name="pay-with" value="cc">

    <div id="container" style="display: none;"></div>

    <label for="bank-transfer">Pay with Bank Transfer</label>
    <input id="pay-with-bank-transfer" type="radio" name="pay-with" value="bank-transfer">

    <input type="submit" value="Pay">
  </form>
  <!-- Include your JS here -->      
</body>
</html>

我感谢你的帮助,但这并不能回答我的问题。“嗯,我想实际上没有办法使卡号和有效期成为非强制性的。”Harit Kyle用一个非常好的例子更新了他的答案。我建议将来。
(function () {
  var dropinHasRendered = false;
  var form = document.forms[0];
  var dropinContainer = form.querySelector('#container');
  var payWithCCRadio = form.querySelector('input#pay-with-cc');
  var payWithBankTransferRadio = form.querySelector('input#pay-with-bank-transfer');

  function renderBraintreeDropIn() {
    dropinHasRendered = true;

    // Make sure to use your client token here
    braintree.setup(YOUR_TOKEN, 'dropin', {container: 'container'});
  }

  function showBraintree() {
    dropinContainer.style.display = 'block';

    if (!dropinHasRendered) {
      renderBraintreeDropIn();
    }
  }

  function hideBraintree() {
    dropinContainer.style.display = 'none';
  }

  payWithBankTransferRadio.addEventListener('change', hideBraintree);
  payWithCCRadio.addEventListener('change', showBraintree);

  form.addEventListener('submit', function (event) {
    if (form['pay-with'].value === 'bank-transfer') {
      event.preventDefault();

      // This allows your to bypass Drop-in
      HTMLFormElement.prototype.submit.call(form);
    }
  });
})();