2013-04-30 4 views
0

Извините, если это нелегко, если я не знаком с знанием Javascript.Проверка валидности Javascript для нескольких типов полей

фона текущей задачи/проекта

Простой HTML форма с текстовыми полями, Флажки и радиокнопки

Отправить форму будет проходить все поля в главной функции проверки, которая будет пошагово каждого поля и в свою очередь, передают эти поля в релевантную функцию проверки (пустая проверка, проверка электронной почты и т. д.).

Основная функция проверки формы следующая: я изменил имена определенных вещей, как того требует компания, для которой я строю)

function formvalidation(thisform) 
{ 
with (thisform) 
{ 
if (emptyvalidation(CompName,"Please Enter your name")==false) {CompName.focus(); return false;}; 
if (emailvalidation(CompEmail,"Please provide a valid Company Email Address")==false) {CompEmail.focus(); return false;}; 
if (emptyvalidation(CompEmail,"Please provide a valid Company Email Address")==false)  {CompEmail.focus(); return false;}; 
if (emptyvalidation(Company,"Please Enter Your Company Name")==false) {Company.focus(); return false;}; 
if (emptyvalidation(CompWebsite,"Please Enter Your Company's Website")==false) {CompWebsite.focus(); return false;}; 
if (emptyvalidation(CustName,"Please Enter an Agents name")==false) {CustName.focus(); return false;}; 
if (emailvalidation(CustEmail,"Please provide a valid Email Address")==false) {CustEmail.focus(); return false;}; 
if (emptyvalidation(CustEmail,"Please provide a valid Email Address")==false) {CustEmail.focus(); return false;}; 
if (emptyvalidation(CustCompany,"Please Enter The Agency Name")==false) {CustCompany.focus(); return false;}; 
if (emptyvalidation(CustWebsite,"Please Enter The Agents Website")==false) {CustWebsite.focus(); return false;}; 
if (checkCheckBoxes(use,"Please Select At Least One Option For Intended Data Use")==false) {use.focus(); return false;}; 
if (checkCheckBoxes(database,"Please Select An Option For Database Usage")==false) {database.focus(); return false;}; 
} 
} 

Ok Таким образом, все остальные функции работают правильно, пустая проверка выглядит следующим образом:

function emptyvalidation(entered, alertbox) 
{ 
with (entered) 
{ 
if (value==null || value=="") 
{if (alertbox!="") {alert(alertbox);} return false;} 
else {return true;} 
} 
} 

Проблема я в настоящее время становится все флажки, чтобы быть подтверждено, функция я должен подтверждено, если по крайней мере, один флажок заполняется следующим образом

function checkCheckBoxes(entered, alertbox) { 
    if (
    entered.checked == false) 
    { 
     return false; 
    } else {  
     return true; 
    } 
} 

в основном у нас есть 2 комплекта флажков 1 группа называется использование один с именем базы данных

Для каждой группы требуется хотя бы один параметр, выбранный для проверки.

так я пытаюсь передать информацию более в вышеуказанную функцию таким же образом, она перешла в другие функции

В настоящее время проверка в основном полностью игнорируется для этих двух полей.

Любая помощь будет очень ценна

ответ

0

Попробуйте entered.value для первого? with не всегда работает должным образом, по моему опыту.

Цитата this page на Developer Network в Mozilla:

Использование with не рекомендуется, и запрещено в ECMAScript 5 строгого режима.

Для флажка, попробуйте уронить == false сравнения и просто использовать if(entered.checked)

+0

Спасибо за выше, я неохотно на данном этапе, чтобы изменить With так как эта функция работает правильно (только включено в качестве примера одна функция работает по сравнению с другой, которая не является), я удалил == false, но это вообще не помогло, никаких других предложений? – user2336498