无法清除输入字段

时间:2014-08-31 14:08:18

标签: javascript

我有一个非常基本的代码。但是,我无法在单击警报确定时使用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 = " ";
    }

}

2 个答案:

答案 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 = " ";

就个人而言,我更喜欢后一种方法导致其代码减少。我希望这有帮助!! :)