php 如何显示来自禁用单选按钮组合的警报

y1aodyip  于 2023-01-12  发布在  PHP
关注(0)|答案(1)|浏览(106)

我有2输入类型在我的形式,第一个代码是选择产品和下一个代码是选择付款方式

//below code is item selection
<input type="radio" id="layanan_163" value="163" name="layanan" data-type="diamond" required>
<label for="layanan_163" class="list-group-item h-100">
<div class="col nama-layanan-form">Starlight</div>
<div class="col nominal-price">USD 9</div>
</label>
<input type="radio" id="layanan_163" value="163" name="layanan" data-type="diamond" required>
<label for="layanan_163" class="list-group-item h-100">
<div class="col nama-layanan-form">Starlight Plus</div>
<div class="col nominal-price">USD 15</div>
</label>

// below code is payment method selection
<input required type="radio" id="method_4" class="radio-pembayaran" name="metode" value="4">
<label for="method_4" class="list-group-item h-100">Paypal</label>
<input required type="radio" id="method_3" class="radio-pembayaran" name="metode" value="3">
<label for="method_3" class="list-group-item h-100">Bank Transfer</label>

不允许的组合为:当用户选择价格低于10美元的项目不允许选择贝宝作为付款方式(单选按钮不能选择)
如何显示一个警告,如果这访客选择了-not-allowed-combination??in javascript?
以及如何禁止访问者不选择不允许的组合?

wmtdaxz3

wmtdaxz31#

首先,两个name=“layanan”的无线电输入具有相同的值,这将是一个问题,所以给予它们一个不同的值。然后,您可以向它们添加data-price=“9”data-price=“15”,这样您就可以轻松地获得它们的价格。
现在在JavaScript中,使用jQuery使代码更容易理解和更短,您可以这样做:

$("input[name='layanan']").on('change', function() {
    var item_price = $("input[name=layanan]:checked").attr('data-price');
    if(item_price >= 10)
    {
        $("#method_4").prop('disabled', false);
        $("#alert_minimum_price_for_paypal").slideUp();
    }
    else
    {
        
        $("#method_4").prop('disabled', true);
        $("#method_4").prop('checked', false);
        $("#alert_minimum_price_for_paypal").slideDown();
    }
});

另外,添加这一行来写消息的地方,让人们知道为什么他们不能选择PayPal:

<div id="alert_minimum_price_for_paypal" style="display: none;">You cannot use PayPal for payments under $10.</div>

为了解释这一点:

  • 如果名称为“laynan”(两个无线电输入的名称)的任何输入发生变化
  • 我们将所选单选按钮的价格放入item_price变量中
  • 如果价格等于或超过10美元:我们删除“禁用”属性上的贝宝无线电输入+隐藏消息
  • 否则,如果价格低于10美元:我们添加了一个“禁用”属性上的贝宝单选输入+显示一条消息+取消选中贝宝单选按钮,如果它被选中,以防止任何问题之后

当然,这只是JavaScript,很容易修改,所以不要忘记也验证您的服务器端代码中的金额,以确保有人不会使用PayPal支付低于9美元的东西,即使很少有人会欺骗代码这样做...

相关问题