2012-05-24 2 views
0

Мне нужна помощь в упрощении/сокращении следующего кода проверки. Помощь была бы принята с благодарностью. На данный момент слишком много текста, мой учитель сказал, что это можно сделать проще/чище ... Я действительно застрял.Нужна помощь простое подтверждение

спасибо.

window.addEventListener('load',init,false); 

function init(){ 
    var submit = document.getElementById("submit"); 
    var gender = document.getElementById("gender"); 
    var age = document.getElementById("age"); 
    var length = document.getElementById("length"); 
    var weight = document.getElementById("weight"); 
    var duration = document.getElementById("duration"); 
    var time = document.getElementById("time"); 

    submit.addEventListener('click', validation, false); 
    gender.addEventListener('checked',validategender,false); 
    age.addEventListener('blur', validateage, false); 
    length.addEventListener('blur',validatelength,false); 
    weight.addEventListener('blur',validateweight,false); 
    duration.addEventListener('blur',validateduration,false); 
    time.addEventListener('checked',validatetime,false); 
} 

function validategender(){ 
    var man = document.getElementById("man"); 
    var vrouw = document.getElementById("vrouw"); 
    var genderfout = document.getElementById("genderFout"); 
    if(man.checked != true && vrouw.checked !=true){ 
     genderfout.innerHTML = "Please choose a gender"; 
     return false; 
    }else { 
     genderfout.innerHTML = ""; 
    }return true; 
} 

function validateage() { 
    var age = parseInt(document.getElementById("age").value, 10); 
    var ageFout = document.getElementById("ageFout"); 
    if (isNaN(age) || age < 0 || age > 130) { 
     ageFout.innerHTML = "Please enter a valid age"; 
     return false; 
    } else { 
     ageFout.innerHTML = ""; 
    } 
    return true; 
} 

function validateweight() { 
    var weight = parseInt(document.getElementById("weight").value, 10); 
    var weightFout = document.getElementById("weightFout"); 
    if (isNaN(weight) || weight < 30 || weight > 200) { 
     weightFout.innerHTML = "Please enter a valid weight"; 
     return false; 
    } else { 
     weightFout.innerHTML = ""; 
    } 
    return true; 
} 

function validatelength() { 
    var length = parseInt(document.getElementById("length").value, 10); 
    var lengthFout = document.getElementById("lengthFout"); 
    if (isNaN(length) || length < 50 || length > 220) { 
     lengthFout.innerHTML = "Please enter a valid length"; 
     return false; 
    } else { 
     lengthFout.innerHTML = ""; 
    } 
    return true; 
} 

function validateduration() { 
    var duration = parseInt(document.getElementById("duration").value, 10); 
    var durationFout = document.getElementById("durationFout"); 
    if (isNaN(duration) || duration < 0) { 
     durationFout.innerHTML = "Please enter a valid time-duration"; 
     return false; 
    } else { 
     durationFout.innerHTML = ""; 
    } 
    return true; 
} 

function validatetime(){ 
    var minutes = document.getElementById("minutes"); 
    var hours = document.getElementById("hours"); 
    var timeFout = document.getElementById("timeFout"); 
    if(minuten.checked !=true && uur.checked !=true){ 
     timeFout.innerHTML = "choose a time unit!"; 
     return false; 
    }else { 
     timeFout.innerHTML = ""; 
    } 
    return true; 
} 

function validation(e){ 
    var genderOk = validategender(); 
    var ageOk = validateage(); 
    var weightOk = validateweight(); 
    var lengthOk = validatelength(); 
    var durationOk = validateduration(); 
    var timeOk = validatetime(); 

    if (!genderOk || !ageOk || !weightOk || !lengthOk || !durationOk || !timeOk){ 
     e.preventDefault(); 
    } 
} 
+0

какой был вопрос стоит только указать JavaScript? – shareef

ответ

0

если JQuery не допускается, чтобы оставить другой вариант

Regular expression

вы можете проверить, но нуждается в небольшом количестве чтения

+0

Спасибо, это выглядит довольно сложно, хотя .. Чтение – vlovystack

+0

Не учитель ли вы подсказываете? :) – shareef

0

Используйте валидатор JQuery http://docs.jquery.com/Plugins/Validation

Ваш код подтверждения будет сокращен до половины того, что она в настоящее время или, возможно, гораздо меньше.

+0

Мне не разрешено использовать jQuery, можно использовать только базовые javascript – vlovystack

Смежные вопросы