This is machine translation of orginal blog.
« prev next »

À¥ ÆäÀÌÁö¿¡ ÀÖ´Â AutoComplete

" strHTML = strHTML & "" DisplayEditBox = strHTML End Function Sub DisplayEditBoxOnClick() Dim el, elBack Set el = Window.event.srcElement Set elBack = el.parentNode.childNodes(0) elBack.style.visibility = "visible" el.className = "clsPropertyEditActive" el.select End Sub Sub DisplayEditBoxOnKey Dim el, elBack Dim strHTML Set el = Window.event.srcElement Set elBack = el.parentNode.childNodes(0) Dim intKeyCode intKeyCode = Window.event.keyCode If intKeyCode = keyEnter Or intKeyCode = keyUp Or intKeyCode = keyDown Then If elBack.innerHTML <> "" Then el.value = el.value & Mid(elBack.innerText, Len(el.value)+1) End If DisplayEditBoxOnDone Window.event.returnValue = False //garrUsers(gstrHighlightedBuddy)("ShowProperties") = False //Call UpdateUserList Elseif intKeyCode = keyLeft Or intKeyCode = keyRight Then Window.event.returnValue = False Elseif intKeyCode >= 48 Then strHTML = "" strHTML = strHTML & " " elBack.innerHTML = strHTML Else elBack.innerHTML = "" End If End Sub Sub DisplayEditBoxOnKeyUp Dim el, elBack Dim strHTML Dim intKeyCode Set el = Window.event.srcElement Set elBack = el.parentNode.childNodes(0) intKeyCode = Window.event.keyCode If intKeyCode >= 48 Then strHTML = "" strHTML = strHTML & "" elBack.innerHTML = strHTML End If End Sub Sub DisplayEditBoxOnDone Dim el, elBack Set el = Window.event.srcElement Set elBack = el.parentNode.childNodes(0) el.className = "clsPropertyEditNormal" If el.name = "AssignedName" Then //garrUsers(el.parentNode.name)("AssignedName") = el.value //AutoCompleteAdd el.value, "AssignedName" Elseif el.name = "Group" Then //garrUsers(el.parentNode.name)("Group") = el.value //AutoCompleteAdd el.value, "Group" Elseif el.name = "Email" Then //garrUsers(el.parentNode.name)("Email") = el.value //AutoCompleteAdd el.value, "Email" End If //Call UpdateUserList End Sub Sub AutoCompleteInit() Set garrHistory = CreateObject("Scripting.Dictionary") garrHistory.add "Friends","Group" garrHistory.add "Business","Group" garrHistory.add "Relatives","Group" garrHistory.add "Old Classmates","Group" End Sub Sub AutoCompleteAdd(strKey) strKey = Left(strKey, 20) If Not garrHistory.Exists(strKey) Then garrHistory.Add strKey, "Email" End If End Sub Function AutoCompletePredict(strPrefix, strCatalog) Dim intLenPrefix Dim intLenKey Dim strKey Dim strResult Dim intLenReminder intLenPrefix = Len(strPrefix) If intLenPrefix < 1 Then strResult = "" Else For Each strKey in garrHistory.Keys intLenKey = Len(strKey) If UCase(strCatalog) = UCase(garrHistory(strKey)) And UCase(Left(strKey, intLenPrefix))= UCase(strPrefix) Then intLenReminder = intLenKey - intLenPrefix If intLenReminder > 0 Then strResult = Right(strKey, intLenReminder) End If End If Next End If AutoCompletePredict = strResult End Function