无法清除输入字段

Unable to clear the Input Fields

本文关键字:字段 输入 清除      更新时间:2023-09-26

我有一个非常基本的代码。然而,我无法在单击警报ok时清除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 = " ";
    }
}

else部分说

document.getElementById("userYOB").value= " ";

而不是

userYearOfBirth = " ";

因为userYearOfBirth是一个简单的字符串,所以更新它不会更新textbox的值。

请在其他部分之后添加以下行

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

就我个人而言,我更喜欢后一种方法,因为它的代码更少。我希望这能有所帮助!!:)