基本上是以控制台上的错误结束:
未捕获的TypeError:对象[对象RegExp]没有方法'匹配'
这是触发错误的代码:
addMember = function addMember(e) {
console.log(e.target);
var s1 = new SchoolAdmission();
s1.name = document.getElementById('name').value;
s1.age = document.getElementById('age').value;
s1.department = document.getElementById('department').value;
s1.display(e.target.id);
};
validate = function validate(e) {
if (nameInput.value == "") {
(errorInput).innerHTML = "Please fill all columns";
validation = false;
}
else if (!nameInput.match(charFilter)) {
(errorInput).innerHTML = "Please enter only alphabets";
validation = false;
}
if (ageInput.value == "") {
(errorInput).innerHTML = "Please fill all columns";
validation = false;
}
else if (!ageInput.match(numberFilter)) {
(errorInput).innerHTML = "Please enter only numbers";
validation = false;
}
if (validation) {
addMember(e);
}
};
我为正在构建的应用程序进行了验证。我刚刚在“添加学生”按钮上应用它,稍后将其移至“添加教师”。
<button id="addStudent" class="btn btn-success" onclick="validate(event)">Add Student</button>
这是我的小提琴:http://jsfiddle.net/LPu9x/6/
我的问题是:
1)解决此错误。
2)我的验证方法是否正确?
答案 0 :(得分:1)
nameInput
是dom对象所以它没有匹配方法,你需要获取输入的值然后使用.match
nameInput.value.match(charFilter)