0
這是我見過的最奇怪的行爲之一。以下是JS代碼片段:即使條件不成立,條件爲假的情況下也會執行Javascript代碼
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)
。
爲什麼會發生這種情況?
你確定它去那條線嗎?你是否在Firebug中驗證過:設置一個斷點並看到它被觸發?也許,在運行代碼之前'formIsValid'的值是'false'? –
你有這個小提琴嗎? – naveen
是的,我在Firebug中進行了調試,在那裏我看到代碼遵循我描述的執行路徑。 – shashi