Próbuję dodać na czacie funkcję "użytkownik pisze"; czat napisany w PHP + MySQL/Ajax.Funkcja "Użytkownik pisze" na czacie
Jak to powinno działać:
-Po mój czat partnerem X zacznie wpisywać widzę w moim oknie czatu: „X jest wpisanie”
-Kiedy ja (o nazwie Y) piszę widzi w jego chat box: "Y pisze" (podobnie jak Yahoo Messenger).
Kod próbowałem dotąd:
<script type="text/javascript" language="javascript">
var timer = 0;
function reduceTimer() {
timer = timer - 1;
isTyping(true);
}
function isTyping(val) {
if (val == 'true') {
document.getElementById('typing_on').innerHTML = "User is typing...";
} else {
if (timer <= 0) {
document.getElementById('typing_on').innerHTML = "No one is typing -blank space.";
} else {
setTimeout("reduceTimer();", 500);
}
}
}
</script>
<label>
<textarea onkeypress="isTyping('true'); timer=5;" onkeyup="isTyping('false')" name="textarea" id="textarea" cols="45" rows="5"></textarea>
</label>
<div id="typing_on">No one is typing -blank speace.</div>
Pytania:
Gdybym zatrzymać się na kilka sekund, aby myśleć o mojej pisowni wygląda jakbym przestał pisać. Czy istnieje bardziej odpowiedni i mniej skomplikowany sposób ustawienia tej funkcji? Czy jest możliwy kod dla:
- pole tekstowe nie jest puste (użytkownik nacisnął dowolny klawisz, aby rozpocząć pisanie) -> Wiadomość: Użytkownik pisze.
- pole tekstowe puste -> Wiadomość: użytkownik nie pisze.
- Pole tekstowe nie jest puste, ale użytkownik nie naciśnie żadnego klawisza dłużej niż 5 sekund -> Wiadomość: Użytkownik nie pisze.
Pokazuje, że piszę; jak mogę go zaimplementować lub gdzie, aby zobaczyć w moim okienku na czacie "X użytkownik pisze", a nie "Ja sam piszę". To samo dla drugiego użytkownika, powinien dostać wiadomość o pisaniu/pisaniu, a nie o sobie.
Dziękuję.
+1 dla Ciebie ..Czy masz rozwiązanie? Ponieważ potrzebuję dokładnie tego samego, czego potrzebujesz? –
Gdzie ktoś umieści kod ajaxowy w celu wysłania danych? –