1st - Если текстовое поле заполнено, код останавливается и не продолжается.
2nd - по электронной почте, он не будет проверять утверждение 2-го if, если первое верно.
Я думаю, что 1-я и 2-я проблемы одинаковы, что, как только он видит одно, это прекращается.
HTML
<form name="form" onSubmit="return validation()" method="post">
<p>
<label class="tittle">Name:</label>
<span>
<input type="text" name="firstname"
placeholder="First Name" class="info"
size="25" maxlength="25"
onBlur="return validateFirstName()">
<label class="fillerror" id="fillFirst">
First name is required
</label>
</span>
<span>
<input type="text" name="lastname"
placeholder="Last Name" class="info"
size="25" maxlength="25"
onBlur="return validateLastName()">
<label class="fillerror" id="fillLast">
Last name is required
</label>
</span>
</p>
<p>
<label class="tittle">Email:</label>
<span>
<input type="text" name="newEmail"
placeholder="Email" class="info"
size="25" maxlength="50"
onBlur="return validateEmail()">
<label class="fillerror" id="fillemail">
Email address is required
</label>
</span>
<span>
<input type="text" name="retypedNewEmail"
placeholder="Confirm Email" class="info"
size="25" maxlength="50"
onBlur="return asd()">
<label class="fillerror" id="fillemailConf">
Email address confirmation is required
</label>
<label class="fillerror" id="fillemailConfirm">
Email addresses do not match
</label>
</span>
</p>
<p>
<label class="tittle">Password:</label>
<span>
<input type="password" name="newPassword"
placeholder="Password" class="info"
size="25" maxlength="15"
onBlur="return validatePassword()">
<label class="fillerror" id="fillpass">
Password is required
</label>
</span>
<span>
<input type="password"
name="retypedNewPassword"
placeholder="Confirm Password" class="info"
size="25" maxlength="15"
onBlur="return validateConfPassword()">
<label class="fillerror" id="fillpassConf">
Password confirmation is required
</label>
</span>
</p>
<p>
<span id="sign">
<input type="checkbox" name="sign" checked>
Sign up for our Emails
</span>
<input type="button" name="register"
value="Register" class="register"
onClick="return validateFirstName(),
validateLastName(), validateEmail(),
validateConfEmail(), validatePassword(),
validateConfPassword();">
</p>
</form>
JavaScript
function xValidate(inbox, fill)
{
inbox.style.backgroundColor="rgba(255, 0, 0, .1)";
inbox.style.borderLeft="3px solid red";
fill.style.display="block";
}
function yValidate(inbox, fill)
{
inbox.style.backgroundColor="white";
inbox.style.borderLeft="3px solid rgb(169, 184, 1)";
fill.style.display="none";
}
function validateFirstName()
{
var frstnm = document.forms["form"] ["firstname"].value;
if (frstnm==null || frstnm=="" || frstnm==" ")
{
var inbox = document.forms["form"] ["firstname"];
var firstname = document.getElementById("fillFirst");
xValidate(inbox, firstname);
}
else
{
var inbox = document.forms["form"] ["firstname"];
var firstname = document.getElementById("fillFirst");
yValidate(inbox, firstname);
}
}
function validateLastName()
{
var lstnm = document.forms["form"] ["lastname"].value;
if (lstnm==null || lstnm=="" || lstnm==" ")
{
var inbox = document.forms ["form"] ["lastname"];
var lastname = document.getElementById("fillLast");
xValidate(inbox, lastname);
}
else
{
var inbox = document.forms ["form"] ["lastname"];
var lastname = document.getElementById("fillLast");
yValidate(inbox, lastname);
}
}
function validateEmail()
{
var eml = document.forms["form"] ["newEmail"].value;
if (eml==null || eml=="" || eml==" ")
{
var inbox = document.forms ["form"] ["newEmail"];
var newEmail = document.getElementById("fillemail");
xValidate(inbox, newEmail);
}
else
{
var inbox = document.forms ["form"] ["newEmail"];
var newEmail = document.getElementById("fillemail");
yValidate(inbox, newEmail);
}
}
function validateConfEmail()
{
var confeml = document.forms["form"] ["retypedNewEmail"].value;
if (confeml==null || confeml=="" || confeml==" ")
{
var inbox = document.forms ["form"] ["retypedNewEmail"];
var newEmail = document.getElementById("fillemailConf");
xValidate(inbox, newEmail);
}
else
{
var inbox = document.forms ["form"] ["retypedNewEmail"];
var newEmail = document.getElementById("fillemailconf");
yValidate(inbox, newEmail);
}
var confirmEmail = document.forms["form"] ["newEmail"].value;
if (document.forms["form"] ["retypedNewEmail"].value != document.forms["form"] ["newEmail"].value)
{
var inbox = document.forms ["form"] ["retypedNewEmail"];
var newEmail = document.getElementById("fillemailConf");
xValidate(inbox, newEmail);
}
else
{
var inbox = document.forms ["form"] ["retypedNewEmail"];
var newEmail = document.getElementById("fillemailConf");
yValidate(inbox, newEmail);
}
}
Я пробовал ваш код в Firefox и IE и добавлял предупреждения для каждой функции. Когда clciked на кнопке "Регистрация", в Firefox, все предупреждения были показаны, пока в IE появилось только предупреждение FirstName.
Причина: функция xValidate и yValidate выдавали ошибку в IE.
at line :: inbox.style.backgroundColor="rgba(255, 0, 0,.1)";
SCRIPT380: Недопустимое значение свойства.
Я бы предложил, проверьте вашу консоль на предмет какой-либо ошибки JS, она должна решить вашу проблему.
Надеюсь это поможет!
false/true
в систему, но возвращаемые значения, отправляемые вonblur
, не имеют никакого особого значения. В общем, когдаreturn
найдено во время выполнения функции, выполнение этой функции немедленно прекращается, любой код после оператораreturn
не будет выполнен. Пожалуйста, проверьте также<label>
.