我正在处理此脚本,由于某种原因,它的作用似乎是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 = 1if (error = 1) { alert("error1"); var error = 2}else if (error == "2") { alert("error2") var error = 1}那么我该如何做呢?------------------------------------- >>编辑好的,所以我将其更改为 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”)。 最佳答案 尝试使其他情况如下所示:else if (fn.style.borderColor == "rgb(255, 0, 0)" && fnl>1){关于javascript - JS if语句无法正常运行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4360351/
10-13 02:10