Portal > Foren > Ausschreibungssprachen und clientseitige Programmierung > JavaScript und AJAX > Verzögerung beim Tippen in Input zur Aktualisierung per AJAX?
Antwort
 
Themen-Optionen Thema durchsuchen
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  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 19.06.2006, 19:43 Nach oben    #2
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.516
Standard

Kannste da nicht mit sleep arbeiten?

Hab ich hier rausgesaugt.
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen 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  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen 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  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen 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  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen 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  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen 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  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen 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)
 
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen 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  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen 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  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen 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.
 
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 19.06.2006, 23:01 Nach oben    #12
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.516
Standard

Ich denke mal, dass wir das so langsam aber sicher schon wissen!
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen 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 Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

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

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
PingBacks sind an
RefBacks sind aus


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:58 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

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 45