Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/91.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 禁用按钮,直到您的购物车中有x数量的物品?_Php_Html_Wordpress_Woocommerce - Fatal编程技术网

Php 禁用按钮,直到您的购物车中有x数量的物品?

Php 禁用按钮,直到您的购物车中有x数量的物品?,php,html,wordpress,woocommerce,Php,Html,Wordpress,Woocommerce,所以我有一个商店,它有几个步骤来购买东西,每一步都向用户展示不同种类的产品,比如果汁,他们必须选择他们想要的果汁,我想禁用按钮,让用户进入下一步,直到购物车中第一步的物品数量达到x 这是我的钮扣 <form action="http://examplesite.com/step-2/">&nbsp; <input id= "btnBox" type="submit" value="next step" align="right" /> 您可以添加一个事件侦听器

所以我有一个商店,它有几个步骤来购买东西,每一步都向用户展示不同种类的产品,比如果汁,他们必须选择他们想要的果汁,我想禁用按钮,让用户进入下一步,直到购物车中第一步的物品数量达到x

这是我的钮扣

<form action="http://examplesite.com/step-2/">&nbsp;

<input id= "btnBox" type="submit" value="next step" align="right" />

您可以添加一个事件侦听器来监视更改,并在该函数中添加禁用的验证,请参考下面的示例

注意:我在
$(“#cart”).val()前面使用
+
运算符,以便将
字符串类型的提取值转换为
数字

函数checkQuantity(){
变量数量=+$(“#购物车”).val();
下一个风险值=$(“#btnBox”);
如果(数量>=2){
next.removeAttr('disabled');
}否则{
next.attr(“disabled”、“true”);
}
}
美元(“#购物车”)。在(“更改”,检查数量);
检查数量()

最后使用PHP代码片段(插入PHP)插件来编写代码

global $woocommerce;    
$targeted_id = an id;
$qty = 0;



foreach ( WC()->cart->get_cart() as $cart_item ) 
{ 
if($cart_item['product_id'] == $targeted_id )
{
    $qty =  $cart_item['quantity'];
    break;
    }         

}

if ( $qty == 0 )
{  
 ?> 

     <form action="asite.com/" method="get">
     <input type="submit" value="next" 
     name="Submit" id="next" disabled/>
     </form>
     <?php  

}
else
{
 ?>   
      <form action="asite.com/" method="get">
     <input type="submit" value="next" 
     name="Submit" id="next" />
     </form> 
     <?php

 }    
global$woodcommerce;
$targeted_id=一个id;
$qty=0;
foreach(WC()->cart->get_cart()作为$cart_项目)
{ 
如果($cart\u item['product\u id']==$targeted\u id)
{
$qty=$cart_物料['qty'];
打破
}         
}
如果($qty==0)
{  
?> 

您知道如何检查购物车中有多少物品吗?问题不清楚:什么样的多步骤?基于产品还是基于签出?它位于何处?它是自定义模板吗?还涉及哪些其他自定义设置?您问题中的代码太少,细节也很少。这可能无法为您提供有用的答案,因为没有人能够提供有用的答案我猜。@GrumpyCrouton我知道,但我不确定是否要检查有多少特定的项目is@LoicTheAztec很抱歉,我对此不太了解,我仍在努力想办法,我会在帖子中解释得更详细一点。对不起,我的无知,但是#cart是我的woocommerce cart的通用名称?因为我得到了一个unexp除此之外,我将函数放在函数上。php@leonidas56我需要看看网站的结帐页面,我还需要知道哪些元素的数量需要检查,哪些按钮需要关闭,如果你能给一张图片,我也会检查!嘿,这是两个页面的截图,至于我必须检查哪些项目的数量某些项目的数量,取决于id,假设id=300,在这里您可以看到两个屏幕,在第一个屏幕中是我需要禁用的按钮,这两个图像都有一个指向其页面的链接,谢谢您的帮助help@leonidas56因此,数量将根据产品而变化,是吗?那么我们有一个复杂的场景!但是只有6种可能的产品ts(两个需要2个数量,四个需要1个数量)
global $woocommerce;    
$targeted_id = an id;
$qty = 0;



foreach ( WC()->cart->get_cart() as $cart_item ) 
{ 
if($cart_item['product_id'] == $targeted_id )
{
    $qty =  $cart_item['quantity'];
    break;
    }         

}

if ( $qty == 0 )
{  
 ?> 

     <form action="asite.com/" method="get">
     <input type="submit" value="next" 
     name="Submit" id="next" disabled/>
     </form>
     <?php  

}
else
{
 ?>   
      <form action="asite.com/" method="get">
     <input type="submit" value="next" 
     name="Submit" id="next" />
     </form> 
     <?php

 }