我有一个非常基本的代码。但是,我无法在单击警报确定时使用id(userYOB)清除年份。该代码仅适用于要求年份的代码。它不仅仅是清理,但我也想在点击警报后将地方持有人带回来。
感谢您的帮助。
[小提琴] http://jsfiddle.net/vineetgnair/j8zjjj9r/26/
var d = new Date();
var currentYear = d.getFullYear();
function test() {
var userYearOfBirth = document.getElementById("userYOB").value;
var authorisedAge = 19;
var currentAge = parseInt(currentYear - userYearOfBirth);
//console.log(currentAge);
if (currentAge < authorisedAge) {
alert("You are not authorised to visit the site");
document.getElementById("userYOB").value = " ";
} else {
alert("Welcome to the site!");
userYearOfBirth = " ";
}
}
答案 0 :(得分:2)
在else
部分说
document.getElementById("userYOB").value= " ";
而不是
userYearOfBirth = " ";
因为userYearOfBirth
是一个简单的字符串,所以更新它并不会更新文本框的值。
答案 1 :(得分:0)
请在else部分之后添加以下行
document.getElementById("userYOB").value= " ";
document.getElementById("userMOB").value= " ";
document.getElementById("userDOB").value= " ";
这将清除字段并带回占位符。
之所以如此 userYearOfBirth = " "
不起作用是因为在下一行中变量实际上保存的值不是元素本身,
var userYearOfBirth = document.getElementById("userYOB").value;
如果您将上述行替换为
,那将更为可取 var userYearOfBirth = document.getElementById("userYOB");
现在您可以引用变量中的元素。您可以通过
轻松更改元素值 userYearOfBirth.value = " ";
就个人而言,我更喜欢后一种方法导致其代码减少。我希望这有帮助!! :)