JS HTML DOM typeMismatch error



我使用XHTML、JSF和JavaScript创建表单,通过在h:commandButton中使用onclick()来验证提交到各自字段中的信息。

我已经设法创建了一个JS文件,检查空字段,并提醒用户,如果为真,这工作得很好。接下来,我想在一个称为Validity的函数中使用typeMismatch属性确保输入与标记中定义的类型匹配。下面是我到目前为止的代码:

function Validity() {
var checkName=document.getElementById("formdiv:cardName");
var checkCard=document.getElementById("formdiv:cardnumber");
var checkExp=document.getElementById("formdiv:expDate");
var error="";
var inputChecks=[checkName, checkCard, checkExp];
for (i=0; i < inputChecks.length; i++){
    if(inputChecks[i].value.validity.typeMismatch){
        error= "Your fields dont match the required input type. E.g Card Number must be a number"
    }
}
document.getElementById("errorMessage").innerHTML=error; 

}

我的问题在于第48行,我得到一个"未捕获的TypeError:无法读取属性'typeMismatch'的undefined"。我只写了一个星期的JS代码,所以我对它比较陌生,所以我确信这是我如何声明/引用的东西。我已经查了3所学校和其他消息来源,但都无济于事。所以我希望这里有人能帮忙。如有任何建议,不胜感激

我们唯一能从你给出的代码和错误中辨别出来的是'validity'属性没有被定义。

注意JavaScript中null和undefined的区别是很重要的。

实际上,它未定义的事实表明它从未被设置过。我的猜测是,你有一些问题,要么设置有效性属性的代码没有被执行,要么它的行为与你期望的不同。

如果您添加更多的信息,如其余的代码(JavaScript和XHTML),有人可能能够更具体地回答。

真值和假值可能也很有用,因为这类事情通常会意外发生

相关内容

  • 没有找到相关文章

最新更新