Impressum · Kontakt · Hilfe
Besucher online · Mitglieder



Portal > Foren > Ausschreibungssprachen und clientseitige Programmierung > JavaScript und AJAX > Verzögerung beim Tippen in Input zur Aktualisierung per AJAX?
Antwort
 
Themen-Optionen
Alt 19.06.2006, 19:39   Nach oben    #1
Blubb... öfz
 
Benutzerbild von ljungi
 
Registriert seit: 16.03.2006
Ort: Berlin
Beiträge: 419
Standard Verzögerung beim Tippen in Input zur Aktualisierung per AJAX?

Hallo,

langer Titel kurze Frage.
Könnt ihr mir nen Denkanstoß geben wie man per JS oder was auch immer ne Verzögerung einbaut, damit halt nicht gleich ein Wert per AJAX zurückgegeben wird, sondern erst nach 1 Sekunde oder so?


Habe dank den tollen Tutorials hier schon gut was gebastelt - nur die Verzögerung nicht. Bin mir nicht mal sicher ob der Grundansatz richtig ist.

Irgendwie muss der ja die Sekunden vom letzten Tastaturschlag zählen und dann bei 1 aktualisieren.
Nur wie realisieren?

Danke schon mal, mal wieder
__________________
Vive la France! Welcome to Sarkoworld...
ljungi ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 19.06.2006, 19:43   Nach oben    #2
Ben
Erfahrener Benutzer
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.619
Standard

Kannste da nicht mit sleep arbeiten?

Hab ich hier rausgesaugt.
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 19.06.2006, 19:50   Nach oben    #3
Blubb... öfz
 
Benutzerbild von ljungi
 
Registriert seit: 16.03.2006
Ort: Berlin
Beiträge: 419
Standard

Wunderbar.
Man kann doch zum Glück also mehr per PHP machen als ich dachte.

Danke für die schnelle Antwort!
__________________
Vive la France! Welcome to Sarkoworld...
ljungi ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 19.06.2006, 19:53   Nach oben    #4
Erfahrener Benutzer
 
Registriert seit: 28.08.2004
Ort: konstanz am bodensee
Beiträge: 190
Standard

ich glaube das sol eher auf der client seite passieren, oder?
mit javascript kannst du über
Code:
 window.setTimeout(1000,"my_timeout");
function my_timeout(){
 alert("eine sekunde ist vergangen");
}
einen timeout erzeugen nach dessen beendigung eine callbackfunktion aufgerufen wird.
oder
Code:
 window.setInterval(1000,"my_interval");
function my_interval(){
 alert("mal wieder eine sekunde");
}
ein interval erzeugen. d.h. alle 1000ms wird die funktion my_interval aufgerufen.

am besten du überprüfst mit dem interval ob sich was in dem textfeld geändert hat z.b. alle 5 sekunden. wenn ja kannst du den request absetzen.
beny_mcde ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 19.06.2006, 20:50   Nach oben    #5
Blubb... öfz
 
Benutzerbild von ljungi
 
Registriert seit: 16.03.2006
Ort: Berlin
Beiträge: 419
Standard

Im Prinzip isses mir wurscht, wo es abgefragt wird. Denn ob nun die Anfrage kommt, und der Server ne Sekunde schläft bis ers ausgibt, oder ob der User direkt vor dem Request ne Sekunde wartet ist eigentlich gleich.

Natürlich kann man das auch unter dem Aspekt sehen, dass der Server eventuell ne unnötige DB-Abfrage hat... Aber das kann der glaub ich gut verkraften.
__________________
Vive la France! Welcome to Sarkoworld...
ljungi ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 19.06.2006, 21:55   Nach oben    #6
Erfahrener Benutzer
 
Registriert seit: 28.08.2004
Ort: konstanz am bodensee
Beiträge: 190
Standard

im allgemeinen ist es aber sehr unschön den server für einige sekunden warten zu lassen. also elegant währ das nicht.
ich weiß ja nicht genau um was für eine art von anwendung es geht, aber wenn sie irgendwann mehrere benutzer verwenden. wenn nicht sogar viele, dann ist der server nur noch mit warten beschäftigt
...und dass kann man auch am bahnhof.
beny_mcde ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 19.06.2006, 21:59   Nach oben    #7
Blubb... öfz
 
Benutzerbild von ljungi
 
Registriert seit: 16.03.2006
Ort: Berlin
Beiträge: 419
Standard

Heißt das denn dann, wenn z.B. 29 Anfragen gleichzeitig an den Server kommen wartet der 29 sek? Baut das auf einander auf?

Steh ich aufm Schlauch?
__________________
Vive la France! Welcome to Sarkoworld...
ljungi ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 19.06.2006, 22:01   Nach oben    #8
Jay
Gast
 
Beiträge: n/a
Standard

PHP-Code:
<input onkeyup="javascript:setTimeout ("sendRequest()", intTimeout);" type="text" id="q" name="q" size="20" /> 
Das ist alles was du brauchst. Wenn du das serverseitig machst ist das
1. unschön
2. sinnlos
3. lass doch den Client rechnen, als deinen Server unnötig zu belasten

// EDIT: Syntax Fehler in meinem Code. Sorry

Geändert von Jay (19.06.2006 um 22:04 Uhr).
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 19.06.2006, 22:25   Nach oben    #9
me pro ok?
 
Benutzerbild von Lars
 
Registriert seit: 07.09.2005
Ort: Pulheim bei Köln
Beiträge: 964
Standard

Zitat:
dann ist der server nur noch mit warten beschäftigt
Es wartet ja nicht der ganze Prozess sonder nur der Child-Prozess. Multi-Threading
__________________
Gedanken aus Draht stricken einen Zaun.
Lars ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 19.06.2006, 22:33   Nach oben    #10
Erfahrener Benutzer
 
Registriert seit: 28.08.2004
Ort: konstanz am bodensee
Beiträge: 190
Standard

yep... das weiß ich, aber warten verbraucht auch zeit und resourcen.
und die zeit die der eine child prozess verbraucht steht den anderen threads nicht zur verfügung...
beny_mcde ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 19.06.2006, 22:35   Nach oben    #11
Jay
Gast
 
Beiträge: n/a
Standard

FAZIT: sleep () zu verwenden widerspricht hier jeder Logik und ist einfach unnötig. Eine JavaScript Lösung ist zu 100% besser.
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 19.06.2006, 23:01   Nach oben    #12
Ben
Erfahrener Benutzer
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.619
Standard

Ich denke mal, dass wir das so langsam aber sicher schon wissen!
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.
Trackbacks are An
Pingbacks are An
Refbacks are Aus


Alle Zeitangaben in WEZ +2. Es ist jetzt 22:53 Uhr.

Nach oben
Wir nutzen das Zend Framework, vBulletin (vBulletin v3.7.3, Copyright ©2000-2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0) und vBSEO.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44