【发布时间】:2014-06-22 11:02:20
【问题描述】:
我正在尝试让我的 javascript 验证电话号码输入并在用户输入错误信息时显示消息。我设置了另外两个输入来执行此操作,因此我复制了其中一个并将名称替换为 phoneNumber 但没有结果。请不要使用 HTML 替代品,我必须将其用于我的评估。
这里我只包含了用于输入电话号码的代码。 http://jsfiddle.net/29ZNV/
HTML
<form>
<label for="phoneNumber"><span class="textStyle">Phone Number*</span>
<input type="text" id="phoneNumber"><br>
<span id="phoneMessage" class="message">You must have a valid phone number</span>
</label>
<input type="submit" id="submit" value="Submit"/>
</form>
JAVASCRIPT
var phoneInput = document.querySelector ('#phoneNumber');
var submitButton = document.querySelector('#submit');
function displayError(fieldname, message) {
var input_field = document.querySelector('#' + fieldname);
var error_box = document.querySelector('#' + fieldname + 'Message');
addClass (input_field, 'error');
error_box.style.display = 'block';
error_box.innerHTML = message;
}
function hideError(fieldname){
var input_field = document.querySelector('#'+fieldname);
var error_box = document.querySelector('#'+fieldname+'Message');
removeClass (input_field, 'error');
error_box.style.display = 'none';
}
function addClass(html_element,class_str) {
if(html_element.className.indexOf(class_str) == -1){
html_element.className += ' '+class_str;
}
}
function removeClass(html_element, class_str){
if(html_element.className.indexOf(class_str) != -1){
html_element.className = html_element.className.replace(class_str, '');
}
}
phoneInput.onblur = function(){
if(!phoneNumberInput.value){
valid = false;
displayError('phoneNumber', 'Please enter your number');
}else if(!isValidPhoneNumber(phoneNumberInput.value)){
valid = false;
displayError('phoneNumber', 'The phone number field is invalid');
}else{
hideError('phoneNumber');
}
}
submitButton.onclick = function(){
var nameIsValid = checkName();
var emailIsValid = checkEmail();
var phoneNumberIsValid = checkphoneNumber();
var valid = nameIsValid && emailIsValid && phoneNumberIsValid;
return valid;
}
function isValidPhoneNumber(str){
var phoneNumberPattern = new RegExp('^[a-zA-Z \s\'-]{1,}$');
}
【问题讨论】:
-
您有语法错误。您从未为最后一个函数键入右括号。
-
抱歉复制粘贴错误,已修复
标签: javascript html forms