【发布时间】:2016-12-24 05:54:14
【问题描述】:
我正在使用 XHTML、JSF 和 JavaScript 创建一个表单,通过在 h:commandButton 中使用 onclick() 来验证已提交到各自字段中的信息。
我已经设法创建了一个 JS 文件来检查空字段并在为真时提醒用户,这工作正常。接下来我想尝试确保输入与使用 typeMismatch 属性在标记中定义的类型相匹配,在一个我称为 Validity 的函数中。到目前为止,这是我的代码:
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 行,在那里我得到一个“未捕获的类型错误:无法读取未定义的属性‘typeMismatch’。我只编写了一周的 JS,所以对它比较陌生,所以我确定它已经关闭了关于我如何声明/引用某些东西。我已经检查了 w3schools 和其他来源都无济于事。所以我希望这里的人能够提供帮助。任何建议将不胜感激
【问题讨论】:
-
那么你有
id="formdiv:cardName"等元素吗?这些元素有values 吗?这些values 有validitys 吗?脚本崩溃时i的值是多少? -
是的,这些元素与 id="formdiv" 的表单中的 ah:inputText 字段相关,因此当调用 onclick:"Validation()" 时,JS 将获取该字段中的值观点。示例并且 i 的值为 null因为脚本在评估 if 语句时崩溃
标签: javascript jsf dom xhtml