Я работаю над этим сценарием, и по какой-то причине он действует так, как будто fn.style.borderColor всегда равен # F00.Все, что я хочу, это чтобы второй выполнялся, если и только если первый, если был выполнен.
function vfn() {
if (fnl<1){
na.innerHTML= "This field is required.";
fn.style.borderColor="#F00";
}
else if (fn.style.borderColor="#F00" && fnl>1) {
if(lnl>1){
na.innerHTML= "OK";
setTimeout("na.innerHTML = ''",1500)
}
fn.style.borderColor="#0F0";
setTimeout("fn.style.borderColor='';",1500)
}
return false
}
Я пытался использовать переменные и делал что-то подобное, но это не сработало вообще.
var error = 1
if (error = 1) {
alert("error1");
var error = 2
}
else if (error == "2") {
alert("error2")
var error = 1
}
Так как я могу заставить эту работу работать?
------------------------------------- >> EDIT << ------------------------------------ </p>
Хорошо, поэтому я изменил это на
function vfn() {
if (fnl<1){
na.innerHTML= "This field is required.";
fn.style.borderColor="#F00";
}
else if (fn.style.borderColor == "#F00" && fnl>1){
if(lnl>1){
na.innerHTML= "OK";
setTimeout("na.innerHTML = ''",1500)}
fn.style.borderColor="#0F0";
setTimeout("fn.style.borderColor='';",1500)
}
return false}
и происходит то, что цвет рамки меняется на красный, когда поле пустое, что и должно происходить, но когда поле заполнено правильно, оно ДОЛЖНО изменить цвет на зеленый, затем через 1,5 секунды изменить обратнопо умолчанию, но вместо этого фактически происходит то, что он остается красным, как если бы он игнорировал блок кода else if, даже если поле уже красное (fn.style.borderColor = "# F00").