javascript - 在javascript中的输入数字类型字段中输入值时如何显示输入文本字段?

标签 javascript jquery html css twitter-bootstrap-3

我正在开发一个表单,其中有一个名为金额字段的字段,当数字大于 2000 时,一旦输入值,就会自动显示平移卡字段,我尝试使用 javascript 但我结束了通过下面的代码:

    var amnt=document.getElementById("amount").value;
    var pandiv=document.getElementById("pancarddiv");
    function showPanfield(){
        if(amnt.value >= 2000){
            pandiv.style.display="block";
        }
        else{
            pandiv.style.display="none";
        }
    }
<!doctype html>
<html lang="en">
<head>
<title>Donation Form</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="css/bootstrap.min.css"/>
<script src="js/bootstrap.min.js"></script>
<script src="js/jquery.min.js"></script>
<style>
    div#pancarddiv {
        display: none;
}
</style>
</head>
<body>
    <div class="container-fluid">
        <div class="row">
            <form action="" method="POST">
                <div class="col-lg-12 col-md-12 col-sm-12 form-group">
                    <label>Full Name*</label>
                    <input type="text" class="form-control" id="name" name="fname" required/>
                </div>
                <div class="col-lg-12 col-md-12 col-sm-12 form-group">
                    <label>Postal Address*</label>
                    <textarea class="form-control" rows="4" id="Address" name="address" required></textarea>
                </div>
                <div class="col-lg-6 col-md-6 col-sm-12 form-group">
                    <label>Mobile No.*</label>
                    <input type="number" class="form-control" id="mobileno" name="mobile" required/>
                </div>
                <div class="col-lg-6 col-md-6 col-sm-12 form-group">
                    <label>Email Id*</label>
                    <input type="email" class="form-control" id="email" name="email" required/>
                </div>
                <div class="col-lg-12 col-md-12 col-sm-12 form-group">
                    <label>Amount (Rs.)*</label>
                    <input oninput="showPanfield()" type="number" class="form-control" id="amount" name="amount" required/>
                </div>
                <div class="col-lg-12 col-md-12 col-sm-12 form-group" id="pancarddiv">
                    <label>Pan Card No*</label>
                    <input type="text" class="form-control" id="panid" name="panid"/>
                </div>
                    <div class="col-lg-12 col-md-12 col-sm-12 form-group">
                    <button type="submit" class="btn btn-default">Submit</button>
                </div>
            </form>
        </div>
    </div>
  </body>
</html>

我希望有人能帮助我解决我落后的问题。

最佳答案

问题是因为您在函数外部获取了 amount 字段的值。您只需将 amnt 变量更改为 amount 元素,而不是其值:

    var amnt=document.getElementById("amount");
    var pandiv=document.getElementById("pancarddiv");
    function showPanfield(){
        if(amnt.value >= 2000){
            pandiv.style.display="block";
        }
        else{
            pandiv.style.display="none";
        }
    }
<!doctype html>
<html lang="en">
<head>
<title>Donation Form</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="css/bootstrap.min.css"/>
<script src="js/bootstrap.min.js"></script>
<script src="js/jquery.min.js"></script>
<style>
    div#pancarddiv {
        display: none;
}
</style>
</head>
<body>
    <div class="container-fluid">
        <div class="row">
            <form action="" method="POST">
                <div class="col-lg-12 col-md-12 col-sm-12 form-group">
                    <label>Full Name*</label>
                    <input type="text" class="form-control" id="name" name="fname" required/>
                </div>
                <div class="col-lg-12 col-md-12 col-sm-12 form-group">
                    <label>Postal Address*</label>
                    <textarea class="form-control" rows="4" id="Address" name="address" required></textarea>
                </div>
                <div class="col-lg-6 col-md-6 col-sm-12 form-group">
                    <label>Mobile No.*</label>
                    <input type="number" class="form-control" id="mobileno" name="mobile" required/>
                </div>
                <div class="col-lg-6 col-md-6 col-sm-12 form-group">
                    <label>Email Id*</label>
                    <input type="email" class="form-control" id="email" name="email" required/>
                </div>
                <div class="col-lg-12 col-md-12 col-sm-12 form-group">
                    <label>Amount (Rs.)*</label>
                    <input oninput="showPanfield()" type="number" class="form-control" id="amount" name="amount" required/>
                </div>
                <div class="col-lg-12 col-md-12 col-sm-12 form-group" id="pancarddiv">
                    <label>Pan Card No*</label>
                    <input type="text" class="form-control" id="panid" name="panid"/>
                </div>
                    <div class="col-lg-12 col-md-12 col-sm-12 form-group">
                    <button type="submit" class="btn btn-default">Submit</button>
                </div>
            </form>
        </div>
    </div>
  </body>
</html>

关于javascript - 在javascript中的输入数字类型字段中输入值时如何显示输入文本字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60846541/

相关文章:

javascript - 从构造函数调用方法 : Error: Uncaught TypeError: undefined is not a function

javascript - 扩展 <选项>

jquery - firefox 和 chrome 中的 Jqtransform 错误

jquery - $(窗口).scrollTop();发射速度不够快

javascript - 在网页中使用完整的 jQuery 代码。

javascript - HTM5本地存储: Save a game process for every logged in player

javascript - 按钮内的元素不会触发 Firefox 中的点击事件

javascript - 浏览器中的 Javascript 可以收集哪些信息?

javascript - 单击链接后如何显示警告框

javascript - 如何使用按钮在新标签页中打开