我正在繼續一個項目。這是我唯一不理解的東西。這是組裝用於sql查詢的過濾器字符串的關鍵功能。該功能通過點擊按鈕來調用。瞭解此Javascript功能
我的問題是查詢的值取自$ _REQUEST ['FILTER']。
<input id="HDN_FILTER" name="FILTER" type="hidden" value="<?php echo $_REQUEST['FILTER']; ?>">
起初$ _REQUEST ['FILTER']是空的。然後按下提交按鈕它將組裝並返回字符串。但我不明白它是如何組裝字符串的。因爲它看起來功能從這個輸入中獲得它的價值。但它的價值是空的。所以函數應該從這個輸入中得到空的。這就像走進圈子
例如什麼「」!=意味着無論如何javascipt?
組裝串的一個例子是「」 DELIVER_STORE_ACCOUNT = ALL^STORES_ACCOUNT = ALL^ACTIVE = 1^PART_NUMBER = ALL^NEW_PART_NUMBER = ALL 「」
我看到加入( 「^」 )部分功能。看起來這條線組合了它。但爲什麼它在切換括號內?
function SUBMIT(e, t) {
array_Filter = new Array;
for (i in array_Dropdown) {
if (varField = array_Dropdown[i], varID = "SEL_" + varField, aryTemp = new Array, -1 != document.getElementById(varID).selectedIndex)
for (i = 0; i < document.getElementById(varID).options.length; i++)
document.getElementById(varID).options[i].selected === !0 && (aryTemp[aryTemp.length] = document.getElementById(varID).options[i].value);
aryTemp.length > 0 && (array_Filter[varField] = aryTemp)
}
"" != document.getElementById("HDN_SEARCH").value && (aryTemp.SEARCH = document.getElementById("HDN_SEARCH").value), array_Filter_Temp = new Array;
for (i in array_Filter)
array_Filter_Temp[array_Filter_Temp.length] = i + "=" + array_Filter[i].join("|");
switch (varFilter = array_Filter_Temp.join("^"), document.getElementById("HDN_FILTER").value = varFilter, document.getElementById("HDN_EXCEL").value = 1 == e ? 1 : 0, !0) {
case 1 == t:
document.getElementById("HDN_OVERRIDE").value = 1;
break;
case 0 == t:
document.getElementById("HDN_OVERRIDE").value = 0;
break;
case-1 == t:
}
varTXTBOX = document.getElementById("TXT_SEARCH").value;
alert(varTXTBOX);
document.getElementById("FORM1").submit()
}
'''!='它將某些內容與空字符串進行比較 – zerkms
「但爲什麼它在切換括號內---」,因爲此代碼的作者不知道如何編寫可維護的js。 – zerkms
這個寫得很好的傢伙......無語,無論如何他都沒有在'「中分配任何東西!= document.getElementById(」HDN_SEARCH「)。value &&(aryTemp.SEARCH = document.getElementById(」HDN_SEARCH「)。value )'既不創建也不'if語句,然後他再次創建'array_Filter_Temp = new Array的全局範圍變量; '你可以刪除那些行,並且什麼都不會發生 – ncubica