检查表单输入是否存在

Check if a form input exists

本文关键字:是否 存在 输入 表单 检查表 检查      更新时间:2023-09-26

我想检查当用户填写输入名称"field1"时是否存在名为"field2"的输入标签。我通过使用 field1 的 input 标签上的 onchange 事件执行 JavaScript 函数来做到这一点。(我正在使用警报框进行测试。如果 field2 不存在,JavaScript 单击一个按钮,表单将更新为同时包含 field1 和 field2。但是,即使 field2 存在,无论我使用 3 种方法中的哪一种,警报框也会弹出。我尝试了各种组合,使用ifnull'undefined'等。

如果字段 2 存在,为什么会弹出警报框?

function foobar(){
if(!document.getElementsByName("field2"){
alert("foobar");
}
if(!document.forms[0].field2){
alert("foobar");
}
if(!document.forms[0].elements.namedItem("field2"){
alert("foobar");
}
}

实际上,问题是页面具有各种形式,因此forms[0]没有引用我想要的形式。所以我认为最好的方法是使用this并直接引用input字段。此外,与undefined进行比较比!更清晰。

这有效:

function foobar(fooform){
    if (fooform.field2 === undefined) {
        alert("foobar");
    }
}

这样称呼:

foobar(this.form);

你缺少一个括号:if(!document.getElementsByName("field2")) <</p>

div class="answers">
var element = document.getElementsByName("field2");
if(typeof(element) == 'undefined' && element != null)
{
// Field exists
}
else
{
// then field does not exist
}