我有这段代码,但它并没有告诉用户输入字段何时为空。有人能看出什么问题吗?
$('#age_validation_btn').click(function() {
var age = $('#age_validation_input').val();
if (parseInt(age) == '') {
alert('Please type in something');
} else {
if (new Date().getFullYear() - parseInt(age) >= 18) {
(function() {
var link = document.getElementById('btn-close-modal');
link.click();
})();
} else {
alert('younger then 18');
}
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="age_validation_input" />
<input type="button" id="age_validation_btn" value="valid "/>
<input maxlength="4" id="age_validation_input" size="33" align="middle" style="background-color: rgba(191, 186, 168, 0.8); border:none; height:90px; width:380px; color:#3d3b33; padding:15px; font-size:70px; font-weight:bold;"></font>
<br /><br />
<input type="button" id="age_validation_btn" style="background-color: rgba(99, 95, 82, 0.8); border:none; height:65px; width:410px; color:#c4bda4; font-size:40px; font-weight:bold;" value="OK" />
希望你能提供帮助: - )
答案 0 :(得分:0)
这是因为parseInt("")
返回NaN
而不是您期望的空字符串''
。查看parseInt文档here。
答案 1 :(得分:0)
我不确定但是尝试删除parseInt
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
$('#age_validation_btn').click(function() {
var age = $('#age_validation_input').val();
if (age == '') {
alert('Please type in something');
} else {
if (new Date().getFullYear() - age >= 18) {
(function() {
var link = document.getElementById('btn-close-modal');
link.click();
})();
}
else {
alert('younger then 18');
}
}
});
答案 2 :(得分:0)
希望以下代码有所帮助:)
if($.trim(age).length == 0) {
alert('Please type in something');
}
答案 3 :(得分:0)
如果您使用Jquery,请不要使用document.getElementById
之类的原生JavaScript,而是使用$('#the-id')
。
第二次将数值转换/解析为整数parseInt
时设置第二个(基数)参数 - parseInt(age, 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!');
}
});