2013-05-28 2 views
0

У меня есть некоторые обязательные поля в моей форме запроса. У меня появилось окно с предупреждением пользователя об ошибках. Но с тех пор я удалил его и ввел ошибки в текстовые поля.Форма запроса не отправляет

Теперь я не уверен, как закодировать возврат false, как только будут выполнены все условия.

Валидация работает нормально, форма просто не отправляется.

Я новичок в javascripting так извинения заранее .....

Вот мой код:

// Enquiry Form Validation 
function enquiryFormValidation() { 

// Setting Variables 

var errormessage = ""; 

var ufirstname = document.getElementById("firstname"); 
var usurname = document.getElementById("surname"); 
var uaddress = document.getElementById("address"); 
var upostcode = document.getElementById("postcode"); 
var uemail = document.getElementById("email"); 
var uhearabout = document.getElementById("where"); 
var fday = document.getElementById("fday"); 
var fmonth = document.getElementById("month"); 
var fyear = document.getElementById("year"); 
var ftype = document.getElementById("ftype"); 
var garrival = document.getElementById("garrival"); 
var fend = document.getElementById("fend"); 


if (ufirstname.value == "(e.g. John)") { 
ufirstname.style.border = "1px solid red" ; 
ufirstname.style.color = "red" ; 
ufirstname.value = "Firstname Required" 
} 

if (usurname.value == "(e.g. Smith)") { 
usurname.style.border = "1px solid red" ; 
usurname.style.color = "red" ; 
usurname.value = "Surname Required" 
} 

if (uaddress.value == "(e.g. 101 Party Street, Wellington)") { 
uaddress.style.border = "1px solid red" ; 
uaddress.style.color = "red" ; 
uaddress.value = "Address Required" 
} 

if (upostcode.value == "(e.g. TF1 7HU)") { 
upostcode.style.border = "1px solid red" ; 
upostcode.style.color = "red" ; 
upostcode.value = "Postcode Required" 
} 

if (uemail.value == "(e.g. [email protected])") { 
uemail.style.border = "1px solid red" ; 
uemail.style.color = "red" ; 
uemail.value = "Email Address Required" 
} 

if (uhearabout.options[uhearabout.selectedIndex].value == "blank") { 
uhearabout.style.border = "1px solid red" ; 
uhearabout.style.color = "red" ; 
} 

if (fday.options[fday.selectedIndex].value == "blank") { 
fday.style.border = "1px solid red" ; 
fday.style.color = "red" ; 
} 

if (fmonth.options[fmonth.selectedIndex].value == "blank") { 
fmonth.style.border = "1px solid red" ; 
fmonth.style.color = "red" ; 
} 

if (fyear.options[fyear.selectedIndex].value == "blank") { 
fyear.style.border = "1px solid red" ; 
fyear.style.color = "red" ; 
} 

if (ftype.options[ftype.selectedIndex].value == "blank") { 
ftype.style.border = "1px solid red" ; 
ftype.style.color = "red" ; 
} 

if (garrival.options[garrival.selectedIndex].value == "hh:mm") { 
garrival.style.border = "1px solid red" ; 
garrival.style.color = "red" ; 
} 

if (fend.options[fend.selectedIndex].value == "hh:mm") { 
fend.style.border = "1px solid red" ; 
fend.style.color = "red" ; 
} 

{ 
return false;  
} 

} // End of enquiryForm-validation function 
+0

Вы получаете любой Сообщения об ошибках? – ajtrichards

+0

В зависимости от того, как вы вызываете эту функцию, она должна возвращать 'false' в _stop_ подчинение и возвращать' true' в _allow_ подчинение. Поэтому, возможно, добавьте флаг 'formValid = true', а затем внутри каждого из ваших операторов if добавить' formValid = false', а затем вы можете использовать 'return formValid;' в конце вашей функции. – nnnnnn

+0

Нет, никаких сообщений об ошибках. Валидация работает Я добавлю – user2428136

ответ

0

Вам нужно реорганизовать это.

Например

var valFields = { 
    "firstname":"Please enter a first name", 
    "surname":"Please enter a surname", 
    . 
    . 
    "fend":"please enter a valid time in HH:mm format" 
}// note no comma after the last 

function validate() { 
    for (var fieldID in valFields) { 
    var field = document.getElementById(fieldID); 
    field.className ="normal"; // for example 
    if (
     (field.type=="text" && field.value==field.defaultValue) || 
     (field.type=="select" && field.selectedIndex<1) // and so on 
    ) { 
     field.className="red" // for example 
     alert(valFields[fieldID]); 
     return false;// cancel submit 
    } 
    } 
    return true;// allow submit 
} 

Чтобы использовать

<form onsubmit="return validate()"> 

Который должен действительно быть установлен в голове вместо инлайн, но я на IPad и устал печатать

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