InvokeScript beim textchanged event

  • VB.NET
  • .NET (FX) 4.5–4.8

    InvokeScript beim textchanged event

    Ich habe jetzt schon überall gesucht aber nicht dazu gefunden :(

    js in der htm:

    Quellcode

    1. var sr = 'Nothing'
    2. function callback(predictions, status) {
    3. if (status != google.maps.places.PlacesServiceStatus.OK) {
    4. alert(status);
    5. return;
    6. }
    7. sr = '';
    8. for (var i = 0, prediction; prediction = predictions[i]; i++) {
    9. if (i == 0) {
    10. sr += prediction.description;
    11. }else{
    12. sr += '|' + prediction.description
    13. }
    14. }
    15. }
    16. //google.maps.event.addDomListener(window, 'load', bla(''));
    17. function bla(str) {
    18. //document.getElementById('x').innerHTML = str;
    19. var service = new google.maps.places.AutocompleteService();
    20. service.getQueryPredictions({ input: str }, callback);
    21. return sr;
    22. }


    vb:

    VB.NET-Quellcode

    1. Private Function autoc(ByVal e As String) As String()
    2. Dim str As String = WebBrowser1.Document.InvokeScript("bla", New Object() {e})
    3. While WebBrowser1.ReadyState <> WebBrowserReadyState.Complete Or WebBrowser1.IsBusy
    4. Application.DoEvents()
    5. End While
    6. Dim sr As String() = str.Split("|")
    7. Return sr
    8. End Function
    9. Private Sub txt_anfahrt_TextChanged(sender As Object, e As EventArgs) Handles txt_anfahrt.TextChanged
    10. For Each Str As String In autoc(txt_anfahrt.Text)
    11. addLog(Str)
    12. Next
    13. End Sub


    Das Problem ist. Der String wird zwar ausgelesen, aber erst nach der zweiten Eingabe gibt mir die InvokeScript den ersten String zurück, also keinen Leeren.

    BSP:
    Ich gebe erst ein "a" ein -> Rückgabe = leeren String
    Dann u dazu zu "au" -> Rückgabe: "Arizona, United States|Amsterdam, Nederland|Alberta, Canada|Auckland, New Zealand|Alabama, United States"
    Dann u löschen zu"a" ->Rückgabe: Auckland, New Zealand|Austin, TX, United States|Australia|Augsburg, Deutschland|Australian Capital Territory, Australia"

    usw.

    Quasi immer die History. Das will ich aber nicht, da es ja offensichtlich eine Autovervollständigung sein soll :(

    Wie kann ich das beheben? Databindings, PropertyChanged Event?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „U-g-c“ ()