【问题标题】:Validate an validation?验证验证?
【发布时间】:2023-01-08 01:42:48
【问题描述】:

它工作得近乎完美,但我不明白为什么这段代码必须验证 0 或我的 10

我正在进行验证,如果计数器达到 0,则按钮将被停用。但出于某种原因,在控制台和 html 中它显示 0,但它让我再次单击以停用按钮。我不明白发生了什么。另一个停靠点也发生了完全相同的事情,当您到达 10 时,您必须再次单击添加按钮以停用该按钮。

const botonmas = document.getElementById("mas")
botonmas.addEventListener("click", ()=>{
    increme(contador)
})
const botonmenoss = document.getElementById("menos")
botonmenoss.addEventListener("click", ()=>{
    decre(contador)
})
const prodcSelct = document.getElementById("productosSelec")
let contador = 0
function increme(){
    if(contador<10){
        contador++
        botonmenoss.disabled = false
    }else if(contador == 10){
        botonmas.disabled = true
    }
    prodcSelct.innerHTML = contador 
    console.log(contador)
}

function decre(){
    if(contador>0){
        contador--
        botonmas.disabled = false
    }else if(contador == 0){
        botonmenoss.disabled = true
    }
    prodcSelct.innerHTML = contador 
    console.log(contador)
}

网页格式

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script defer src="./contador2.js"></script>
</head>
<body>
    <section>
        <img src="" alt="">
        <p id="precio"></p>
        <p id="stock"></p>
        <p id="productosSelec"></p>
        <div>
            <button id="menos">-</button>
            <button id="mas">+</button>
            <button id="comprar">Comprar</button>
        </div>
    </section>
</body>
</html>

我希望当它标记为 0 时,按钮会被禁用

【问题讨论】:

  • 您的代码检查 contador 是否小于 10 或大于 0。当它为 9 时,它小于 10,因此您将 contador 递增到 10,保持按钮(递增)启用,并更新字段.减量也一样。你的if支票发生了你改变柜台。
  • 谢谢 Pointy,很有帮助

标签: javascript html


【解决方案1】:

所以感谢 cmets 中的 Pointy 让我看到出了什么问题

在验证中,我在 if 检查后更改计数器。所以正确它

function increme(){
    contador++
    if(contador<10){
        botonmenoss.disabled = false
    }else if(contador == 10){
        botonmas.disabled = true
    }
    prodcSelct.innerHTML = contador 
    console.log(contador)
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-25
    • 2012-05-21
    • 2012-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多