![](/img/trans.png)
[英]Condition is false but code inside the if statement executed in JavaScript
[英]Javascript code execution going inside if condition even though condition is false
這是我所見過的最奇怪的行為之一。 以下是js代碼段:
else if ($("*[id$=ddlDefaultPurpose]").val() == 2) {
if ($("*[id$=ddlJobCategory]").val() == -1) {
ShowMessageStrip(errorJobCategory);
formIsValid = false;
}
//else if (!TryParseSalaryOffered($("*[id$=txtCurrentSalary]").val())) {
// ShowMessageStrip(errorCurrentSalary);
// formIsValid = false;
//}
}
現在,當代碼執行時, $("*[id$=ddlJobCategory]").val()
不等於-1。 在Firebug中可以清楚地看到這一點。 現在發生的事情是,在評估條件之后,代碼應該出來了,而是轉到formIsValid = false
。 它跳過ShowMessageStrip(errorJobCategory)
。
為什么會這樣呢?
顯而易見,聽起來您的代碼沒有按照您的想法運行。
您確定在某處沒有=
而不是==
嗎? 您確定所有括號都匹配(此處未顯示代碼)? 嘗試簽入jslint。
formIsValid在哪里聲明? 在這里的代碼中看起來像是全局的。
另外,您確定未調用ShowMessageStrip()-您是否嘗試過將console.log(以及其他所有內容)放入函數中?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.