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

在javascript的输入数字类型字段中输入值时,如何显示输入文本字段?,javascript,jquery,html,css,twitter-bootstrap-3,Javascript,Jquery,Html,Css,Twitter Bootstrap 3,我正在处理一个表单,该表单有一个名为amount field的字段,当一个数字大于2000时,输入值后会自动显示pan card字段,我尝试使用javascript,但最终得到以下代码: var amnt=document.getElementById(“金额”).value; var pandiv=document.getElementById(“pancarddiv”); 函数showPanfield(){ 如果(amnt.value>=2000){ pandiv.style.displa

我正在处理一个表单,该表单有一个名为amount field的字段,当一个数字大于2000时,输入值后会自动显示pan card字段,我尝试使用javascript,但最终得到以下代码:

var amnt=document.getElementById(“金额”).value;
var pandiv=document.getElementById(“pancarddiv”);
函数showPanfield(){
如果(amnt.value>=2000){
pandiv.style.display=“块”;
}
否则{
pandiv.style.display=“无”;
}
}

捐款表格
分区#pancarddiv{
显示:无;
}
全名*
邮政地址*
流动电话号码*
电子邮件Id*
金额(卢比)*
Pan卡号*
提交

问题在于,一旦超出函数范围,就会得到amount字段的值。您只需将
amnt
变量更改为amount元素,而不是其值:

var amnt=document.getElementById(“金额”);
var pandiv=document.getElementById(“pancarddiv”);
函数showPanfield(){
如果(amnt.value>=2000){
pandiv.style.display=“块”;
}
否则{
pandiv.style.display=“无”;
}
}

捐款表格
分区#pancarddiv{
显示:无;
}
全名*
邮政地址*
流动电话号码*
电子邮件Id*
金额(卢比)*
Pan卡号*
提交

问题在于,一旦超出函数范围,就会得到amount字段的值。您只需将
amnt
变量更改为amount元素,而不是其值:

var amnt=document.getElementById(“金额”);
var pandiv=document.getElementById(“pancarddiv”);
函数showPanfield(){
如果(amnt.value>=2000){
pandiv.style.display=“块”;
}
否则{
pandiv.style.display=“无”;
}
}

捐款表格
分区#pancarddiv{
显示:无;
}
全名*
邮政地址*
流动电话号码*
电子邮件Id*
金额(卢比)*
Pan卡号*
提交

关于此代码的两个问题

  • document.getElementById(“amount”).value
    返回一个字符串,因此如果希望获得一个数字,则应将其转换为一个数字(例如,使用)

  • if
    语句中,您试图访问
    amnt
    变量的not existant
    属性,该属性是字符串而不是对象

  • 因此,要解决这两个问题,请将声明更改为

    if (+amnt >= 2000) {
       ...
    }
    


    作为补充说明,如果使用内联事件处理程序,则不应使用括号,因为您正在分配函数
    oninput=“showPanfield”

    此代码中有两个问题

  • document.getElementById(“amount”).value
    返回一个字符串,因此如果希望获得一个数字,则应将其转换为一个数字(例如,使用)

  • if
    语句中,您试图访问
    amnt
    变量的not existant
    属性,该属性是字符串而不是对象

  • 因此,要解决这两个问题,请将声明更改为

    if (+amnt >= 2000) {
       ...
    }
    


    作为补充说明,如果使用内联事件处理程序,则不应使用括号,因为您正在分配函数
    oninput=“showPanfield”
    var amnt=document.getElementById(“amount”).value在开始时获取一次值。如果更改输入中的值
    amnt
    未更改-将其移动到函数中。
    var amnt=document.getElementById(“amount”).value在开始时获取一次值。如果更改输入中的值
    amnt
    不更改-将其移动到函数中。谢谢你@Cuong Le Ngoc我犯了错误,您能否告诉我,在值大于或等于2000后显示pan卡字段后,如何使其符合要求?您可以使用
    pandiv.querySelector(“#panid”)。required=true并在金额低于2000时将其设置为false谢谢您给我一个基本想法@Cuong Le Ngoc。。。。。我使用Javascript实现了这一点,只需在if条件中添加代码(值大于或等于2000:paninput.required=true;