Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

lifenetwork

Preciso de um Auto completar em ASP

Recommended Posts

Boa noite

 

 

Tenho uma tela que tem os campos

 

Codigo :

 

Nome :

 

Bloco : Apartamento :

 

 

preciso saber como fazer para quando for digitado no campo codigo um código existente no banco Accsess ele auto complete os campos acima...

 

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para uma saída textbox com combobox/autocomplo, usamos checks, o conteúdo da caixa de texto para selecionar a caixa de correspondências de texto, Então autocompletes imprime cada palavra chave, há uma alternância, um botão / imagem switch para alternar entre as duas caixas, todos os valores são armazenados na caixa de texto, assim você vai usar para o Nome do campo de formulário, o nome do campo de formulário para a caixa de seleção serão o mesmo que a caixa de texto, mas com a letra' caixa 'adicionadoao fim.
Exemplo para usar:

<%
 
       
 
        Dim objAuto
        Set objAuto = New clsAutoCompleteCombo
 
        objAuto.AddBlankOption = True
        objAuto.ForceMatch = False
        objAuto.SelectBoxOptions = Array("Name 1", "Name 2", "Name 3", "etc...")
        objAuto.SwitchImage = "../cni_images/cni_companies/ReturnToList.jpg"
        or
        objAuto.SwitchImage = ""
 
        objAuto.ToolTip = "Esta é uma dica de ferramenta"
        objAuto.Width = 120
        objAuto.WriteAutoComplate("empresa")
        Set objAuto = Nothing

 

Class clsAutoCompleteCombo
        Private m_astrOptions 'Array
        Private m_strSwitchImage 'String
        Private m_blnForceMatch 'Boolean
        Private m_intWidth 'Integer
        Private m_blnAddBlank 'Boolean
        Private m_strAltText 'String
       
        Private Sub Class_Initialize()
               m_strSwitchImage = ""
               m_blnForceMatch = False
               m_blnAddBlank = False
               m_intWidth = 150
               m_strAltText = "Use as setas para alternar entre texto e selectbox"
        End Sub
 
        Public Sub WriteAutoComplate(ElementName)
               Dim strSwitch 'String
               Dim strSelectBoxName 'String
               Dim strOutput 'String
               Dim blnCompatible 'Boolean
               Dim strAltText 'String
               Dim blnUseJSToolTip ' Boolean
              
               blnCompatible = IsBrowserCompatable()
              
               If blnCompatible = True Then
                       'Set the select box name
                       strSelectBoxName = ElementName & "box"
 
                       'Definir a imagem mudar
                       If m_strSwitchImage = "" Then
                               strSwitch = "<SPAN ALT=""" & m_strAltText & """ ONCLICK=""toggleDisplayboxes(CompCompanyName, CompCompanyNameBox);"" " & _
                                                     "STYLE=""cursor:hand;font-family:Webdings;font-size:8px;"" onmouseover=""auotcompleteshowtip(this,event,'" & _
                                                     Server.HTMLEncode(m_strAltText) & "')"" onmouseout=""auotcompletehidetip()"">34</SPAN>"
                               blnUseJSToolTip = True
                       Else
                               strSwitch = "<IMG ALT=""" & m_strAltText & """ SRC=""" & m_strSwitchImage & """ BORDER=""0"" ONCLICK=""toggleDisplayboxes(CompCompanyName, CompCompanyNameBox);"" STYLE=""cursor:hand;"">"
                               blnUseJSToolTip = False
                       End If
 
                       strOutput = GenerateJavaScript(blnUseJSToolTip) & "<TABLE WIDTH=""100"" BORDER=""0"" CELLSPACING=""0"" CELLPADDING=""0"">" & _
                                              "<TR><TD VALIGN=""middle"">" & vbCrLf & _
                                              "<INPUT TYPE=""text"" STYLE=""height:20px;width:" & m_intWidth & "px;"" NAME=""" & ElementName & """ ID=""" & _
                                              ElementName & """ ONKEYUP=""autoComplete(this," & strSelectBoxName & ",'text'," & LCase(m_blnForceMatch) & ");"">" & _
                                              "<SELECT ONCHANGE=""setTextBoxFromSelect(" & ElementName & ", this, 'text');"" NAME=""" & _
                                              strSelectBoxName & """ ID=""" & strSelectBoxName & """ STYLE=""height:20px;width:" & m_intWidth & _
                                              "px;display:none;"">" & vbCrLf & _
                                              GenerateOptions(m_astrOptions, m_blnAddBlank) & vbCrLf & _
                                              "</SELECT></TD><TD VALIGN=""middle"">" & vbCrLf & _
                                              strSwitch & "</TD></TR></TABLE>" & vbCrLf
               Else
                       strOutput = "<INPUT TYPE=""text"" NAME=""" & ElementName & """ ID=""" & ElementName & """>" & vbCrLf
               End If
               Response.Write strOutput
        End Sub
 
        Public Property Let ForceMatch(Value)
               m_blnForceMatch = CBool(Value)
        End Property
 
        Public Property Let SwitchImage(Value)
               m_strSwitchImage = Value
        End Property
 
        Public Property Let SelectBoxOptions(Value)
               m_astrOptions = Value
        End Property
       
        Public Property Let Width(Value)
               m_intWidth = Value
        End Property
 
        Public Property Let AddBlankOption(Value)
               m_blnAddBlank = CBool(Value)
        End Property
       
        Public Property Let ToolTip(Value)
               m_strAltText = Value
        End Property
       
        Private Function IsBrowserCompatable()
               Dim strBrowser 'String
               Dim fltVersion 'Float
               Dim objBrowser 'MSWC.BrowserType
               Dim blnContinue 'Boolean
              
               Set objBrowser = Server.CreateObject("MSWC.BrowserType")
              
               strBrowser = objBrowser.browser
               fltVersion = CDbl(objBrowser.version)
              
               If strBrowser = "IE" Then
                              blnContinue = True
               Else
                               blnContinue = False
               End If
              
               If blnContinue = False Then
                       IsBrowserCompatable = False
               Else
                       If fltVersion > 4.5 Then
                               IsBrowserCompatable = True
                       Else
                               IsBrowserCompatable = False
                       End If
               End If
 
               Set objBrowser = Nothing
        End Function
 
        Private Function GenerateOptions(OptionArray, AddBlank)
               Dim intMin 'Integer
               Dim intMax 'Integer
               Dim intCurrent 'Integer
               Dim strOptions 'String
            Dim strPreviousValue 'String
 
               If IsArray(OptionArray) Then
                  intMin = LBound(OptionArray)
                 intMax = UBound(OptionArray)
               Else
                 intMin = 0
                 intMax = -1
               End If
 
               strOptions = ""
 
               For intCurrent = intMin To intMax
                If Trim(OptionArray(intCurrent)) <> "" And OptionArray(intCurrent) <> strPreviousValue Then
                    strPreviousValue = Trim(OptionArray(intCurrent))
                   
                    strOptions = strOptions & "<option value=""" & OptionArray(intCurrent) & """>"
                    strOptions = strOptions & OptionArray(intCurrent)
                   
                    strPreviousValue = Trim(OptionArray(intCurrent))
                    strOptions = strOptions & "</option> "
                End if
               Next
               GenerateOptions = strOptions
        End Function
 
        Private Function GenerateJavaScript(IncludeToolTip)
               Dim strOutput 'As String
              
               strOutput = " <script LANGUAGE=""JavaScript"">" & vbCrLf & _
                                      "       function autoComplete (textbox, selectbox, property, forcematch) {" & vbCrLf & _
                                      "              //Variables." & vbCrLf & _
                                      "              var blnFound = false; //Flag usada para combinar o valor do textbox ao selectbox." & vbCrLf & _
                                      "              var strCursorKeys = ""8;33;34;35;36;37;38;39;40;45;46;""; //teclas do cursor para ignorar." & vbCrLf & _
                                      "              var intOptionCount = 0; //Isso será usado para percorrer a caixa de selecção para localizar uma correspondência." & vbCrLf & _
                                      "              //Loop through the contents of the selectbox" & vbCrLf & _
                                      "              for (var intOptionCount = 0; intOptionCount < selectbox.options.length; intOptionCount++) {" & vbCrLf & _
                                      "                      //Se houver uma correspondência definir o sinalizador encontrado para verdadeiro e break no loop." & vbCrLf & _
                                      "                      if (selectbox.options[intOptionCount][property].toUpperCase().indexOf(textbox.value.toUpperCase()) == 0) {" & vbCrLf & _
                                      "                              blnFound=true;" & vbCrLf & _
                                      "                              break;" & vbCrLf & _
                                      "                      }" & vbCrLf & _
                                      "              }" & vbCrLf & _
                                      "              " & vbCrLf & _
                                      "              //Se encontramos jogo, definir a opção selecionada. Se não for definida a opção selecionada para nada" & vbCrLf & _
                                      "              if (blnFound) { selectbox.selectedIndex = intOptionCount; }" & vbCrLf & _
                                      "              else { selectbox.selectedIndex = -1; }" & vbCrLf & _
                                      "              " & vbCrLf & _
                                      "              //Verifique se há um intervalo de texto" & vbCrLf & _
                                      "               if (textbox.createTextRange) {" & vbCrLf & _
                                      "                      //se forcematch é verdade e encontrou a flagé falsa, remover o último caractere da caixa de texto" & vbCrLf & _
                                      "                      if (forcematch && !blnFound) {" & vbCrLf & _
                                      "                              textbox.value = textbox.value.substring(0,textbox.value.length-1); " & vbCrLf & _
                                      "                              return;" & vbCrLf & _
                                      "                      }" & vbCrLf & _
                                      "                      " & vbCrLf & _
                                      "                      //Verifique o keyPressed, compará-la com a lista de teclas de ignorar" & vbCrLf & _
                                      "                      if (strCursorKeys.indexOf(event.keyCode+"";"") == -1) {" & vbCrLf & _
                                      "                              //A tecla pressionada não está na lista" & vbCrLf & _
                                      "                              //Crie o intervalo de texto" & vbCrLf & _
                                      "                              var r1 = textbox.createTextRange();" & vbCrLf & _
                                      "                              //Store the text" & vbCrLf & _
                                      "                              var oldValue = r1.text;" & vbCrLf & _
                                      "                              //Defina o novo valor igual ao valor selectbox correspondente ou o valor antigo se não for encontrado na lista" & vbCrLf & _
                                      "                              var newValue = blnFound ? selectbox.options[intOptionCount][property] : oldValue;" & vbCrLf & _
                                      "                              " & vbCrLf & _
                                      "                              //Se o novo valor não é igual ao valor antigo, defina o campo de texto para a igualdade" & vbCrLf & _
                                      "                              //newvalue(selectbox), e destacar o resto fora do texto" & vbCrLf & _
                                      "                              if (newValue != textbox.value) {" & vbCrLf & _
                                      "                                     textbox.value = newValue;" & vbCrLf & _
                                      "                                     var rNew = textbox.createTextRange();" & vbCrLf & _
                                      "                                      rNew.moveStart('character', oldValue.length) ;" & vbCrLf & _
                                      "                                     rNew.select();" & vbCrLf & _
                                      "                              }" & vbCrLf & _
                                      "                      }" & vbCrLf & _
                                      "              }" & vbCrLf & _
                                      "       }" & vbCrLf & _
                                      "       function setTextBoxFromSelect (textbox, selectbox, property) {" & vbCrLf & _
                                      "              textbox.value = selectbox.options[selectbox.selectedIndex][property];" & vbCrLf & _
                                      "       }" & vbCrLf & _
                                      "       function toggleDisplayboxes(eText, eSelect) {" & vbCrLf & _
                                      "              if(eText.style.display=='none') {" & vbCrLf & _
                                      "                      eText.style.display=''" & vbCrLf & _
                                      "                      eSelect.style.display='none'" & vbCrLf & _
                                      "                      eText.focus()" & vbCrLf & _
                                      "              }" & vbCrLf & _
                                      "              else {" & vbCrLf & _
                                      "                      eText.style.display='none'" & vbCrLf & _
                                      "                      eSelect.style.display=''" & vbCrLf & _
                                      "                      eSelect.focus()" & vbCrLf & _
                                      "              }              " & vbCrLf & _
                                      "       }" & vbCrLf
                                     
                       If IncludeToolTip = True Then
 
                               strOutput = strOutput & " function auotcompleteshowtip(current,e,text)" & vbCrLf & _
                                              "{" & vbCrLf & _
                                              "   if (document.all)" & vbCrLf & _
                                              "   {" & vbCrLf & _
                                              "      thetitle=text.split('<br>')" & vbCrLf & _
                                              "      if (thetitle.length > 1)" & vbCrLf & _
                                              "      {" & vbCrLf & _
                                              "        thetitles=""""" & vbCrLf & _
                                              "        for (i=0; i<thetitle.length; i++)" & vbCrLf & _
                                              "           thetitles += thetitle[i] + ""\r\n""" & vbCrLf & _
                                              "        current.title = thetitles" & vbCrLf & _
                                              "      }" & vbCrLf & _
                                              "      else current.title = text" & vbCrLf & _
                                              "   }" & vbCrLf & _
                                              "   else if (document.layers)" & vbCrLf & _
                                              "   {" & vbCrLf & _
                                              "       document.tooltip.document.write( " & vbCrLf & _
                                              "           '<layer bgColor=""#FFFFE7"" border:1px ' +" & vbCrLf & _
                                              "           'solid black; font-size:12px;color:#000000;"">' + text + '</layer>')" & vbCrLf & _
                                              "       document.tooltip.document.close()" & vbCrLf & _
                                              "       document.tooltip.left=e.pageX+5" & vbCrLf & _
                                              "       document.tooltip.top=e.pageY+5" & vbCrLf & _
                                              "       document.tooltip.visibility=""show""" & vbCrLf & _
                                              "   }" & vbCrLf & _
                                              "}" & vbCrLf & _
                                              "function auotcompletehidetip()" & vbCrLf & _
                                              "{" & vbCrLf & _
                                              "    if (document.layers)" & vbCrLf & _
                                              "        document.tooltip.visibility=""hidden""" & vbCrLf & _
                                              "}"
              
                       End If
                      
                       strOutput = strOutput & "</SCRIPT>" & vbCrLf
                       GenerateJavaScript = strOutput
        End Function
End Class
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

e existe um outro artigo que postei também, dá uma procurada no fórum...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.