---
title: "xAjax - Autocomplete - readyState und onreadystatechange"
url: "https://www.typo3.net/d/90585-xajax-autocomplete-readystate-und-onreadystatechange"
source: "typo3.net"
tags: ["Extensions","Entwicklung","Frage","JavaScript & AJAX"]
created: "2009-06-17"
last_reply: "2009-06-17"
replies: 1
solved: false
page: 1
pages: 1
lang: "de"
---

# xAjax - Autocomplete - readyState und onreadystatechange

Extensions › Entwicklung · 1 Antwort · gestartet 2009-06-17

## Eröffnungsbeitrag

**digitalfreak** · 2009-06-17 · [Beitrag #1](https://www.typo3.net/d/90585-xajax-autocomplete-readystate-und-onreadystatechange/1)

Hallo nochmal

ich bin gerade dabei eine kleine Ajax sache zu basteln.

Funktioniert auch soweit schon perfekt, bis auf wenn man den Suchbegriff sehr schnell eingibt kommt das ding ins stocken.

Gibt es irgend eine möglichkeit um sowas abzufangen? Ich habe gelesen, dass onreadystatechange dem Script sagt, wann es fertig ist?!

Was muss ich machen, dass das nicht mehr so stockt/wackelt nachhängt usw.

Bis jetzt:
<input onkeyup="funktionsaufruf">
das geht alles auf die mit xAjax registrierte PHP funktion.
Aber irgendwo muss ich doch noch was machen können oder?

viele grüße

## Antworten

### [#2](https://www.typo3.net/d/90585-xajax-autocomplete-readystate-und-onreadystatechange/2) · digitalfreak · 2009-06-17

Habs mitm kleinen Timer gemacht.

In der PHP Klasse

```php
$makeRequestFunktion = $this->prefixId . 'processFormData(xajax.getFormValues(\'xajax_form\'));';
          $GLOBALS['TSFE']->additionalHeaderData[$this->prefixId."Buffering"] = ("
              <script>
              var OnKeyRequestBuffer = 
              {
                  bufferText: false,
                  bufferTime: 10,
                  
                  modified : function(strId)
                  {
                          setTimeout('OnKeyRequestBuffer.compareBuffer(\"'+strId+'\",\"'+xajax.$(strId).value+'\");', this.bufferTime);
                  },
                  
                  compareBuffer : function(strId, strText)
                  {
                      if (strText == xajax.$(strId).value && strText != this.bufferText)
                      {
                          this.bufferText = strText;
                          OnKeyRequestBuffer.makeRequest(strId);
                      }
                  },
                  
                  makeRequest : function(strId)
                  {
                      $makeRequestFunktion
                  }
              }
              </script>
          ");
```

$onchange = ' onkeyup="OnKeyRequestBuffer.modified(\'searchword\');" ';

So gehts!

---

Quelle: „xAjax - Autocomplete - readyState und onreadystatechange“, typo3.net, https://www.typo3.net/d/90585-xajax-autocomplete-readystate-und-onreadystatechange
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
