Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.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
javascript中的空输入字段应发出警报_Javascript_Jquery - Fatal编程技术网

javascript中的空输入字段应发出警报

javascript中的空输入字段应发出警报,javascript,jquery,Javascript,Jquery,我有这段代码,但它没有告诉用户输入字段什么时候应该是空的。有人能看出来是怎么回事吗 $('age\u validation\u btn')。单击(函数(){ var age=$('#age_validation_input').val(); if(parseInt(年龄)=''){ 提醒('请键入某物'); }否则{ 如果(新日期().getFullYear()-parseInt(年龄)>=18){ (功能(){ var link=document.getElementById('btn-cl

我有这段代码,但它没有告诉用户输入字段什么时候应该是空的。有人能看出来是怎么回事吗

$('age\u validation\u btn')。单击(函数(){
var age=$('#age_validation_input').val();
if(parseInt(年龄)=''){
提醒('请键入某物');
}否则{
如果(新日期().getFullYear()-parseInt(年龄)>=18){
(功能(){
var link=document.getElementById('btn-close-modal');
link.click();
})();
}否则{
警觉(“18岁以下”);
}
}
});


这是因为
parseInt(“”)
返回的
NaN
不是您期望的空字符串
'
。查看parseInt文档。

我不确定,但请尝试删除parseInt


$('#年龄_验证_btn')。单击(函数(){
var age=$('#age_validation_input').val();
如果(年龄=“”){
提醒('请键入某物');
}否则{
如果(新日期().getFullYear()-年龄>=18){
(功能(){
var link=document.getElementById('btn-close-modal');
link.click();
})(); 
}
否则{
警觉(“18岁以下”);
}
}

});希望以下代码有帮助:)


首先,如果使用Jquery,不要使用像
document.getElementById
这样的本机JavaScript,而是使用
$(“#id”)

第二,使用
parseInt
将数值强制转换/解析为整数时,请设置第二个(基数)参数-
parseInt(年龄,10)
,因为未指定基数时,不同的实现会产生不同的结果

我就是这样做的

$('my-button-selector').on('click', function() {

    var age = parseInt($('age-input-selector').val(), 10);

    if(isNaN(age)) {
        alert('Numeric value is required for Age!');
        return false;//stop the validation here
    }

    if(new Date().getFullYear() - age >= 18) {
        $('#btn-close-modal').trigger('click');
    } else {
        alert('Younger than 18!');
    }
});

你能把确切的
代码
放进去吗?按钮在哪里?首先,如果(parseInt(age)='',将其转换为整数,然后将其与字符串进行比较,则是错误的。很明显,它将导致false,这将继续到else。我已经添加了按钮代码。如何检查parseInt(age)是否为空?应该如何编写?如下所示:
if(age=''){
$('my-button-selector').on('click', function() {

    var age = parseInt($('age-input-selector').val(), 10);

    if(isNaN(age)) {
        alert('Numeric value is required for Age!');
        return false;//stop the validation here
    }

    if(new Date().getFullYear() - age >= 18) {
        $('#btn-close-modal').trigger('click');
    } else {
        alert('Younger than 18!');
    }
});