PHP/JavaScript - последний символ в строке никогда не удаляется
<form action='' method='post'>
<input type='text' name='username' onkeyup='findUsers(this.value)'>
<input type='submit' value='Add Member'>
<div id='livesearch'></div>
<script>
\t function findUsers(str) {
\t \t if (str == "") {
\t \t \t return;
\t \t } else {
\t \t \t if (window.XMLHttpRequest) {
\t \t \t \t // code for IE7+, Firefox, Chrome, Opera, Safari
\t \t \t \t xmlhttp = new XMLHttpRequest();
\t \t \t } else {
\t \t \t \t // code for IE6, IE5
\t \t \t \t xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
\t \t \t }
\t \t \t xmlhttp.onreadystatechange = function() {
\t \t \t \t if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
\t \t \t \t \t document.getElementById("livesearch").innerHTML = xmlhttp.responseText;
\t \t \t \t }
\t \t \t };
\t \t \t xmlhttp.open("GET","/classes/livemembersearch.php?q="+str,true);
\t \t \t xmlhttp.send();
\t \t }
\t }
</script>
$q = $_GET["q"];
При получении значения я n функция findUsers, все работает нормально, за исключением случаев, когда я опустошаю текстовое поле, он продолжает показывать последнее значение, прежде чем я опустошу поле.
Примеры:
- I типа «FFFF», он обновляет, я удаляю одну п в то время, он держит обновление, пока не удалить последний е и получить пустое поле, он просто держит показывая f как пройденное значение.
- Я печатаю «привет», он обновляет, когда я удаляю всю строку сразу, переданное значение остается на привет.
Я думаю, что функция просто не вызывается, когда поле пусто.
Как бы исправить это?
Можете ли вы опубликовать функцию, которая должна очистить текстовое поле, пожалуйста? – NoobishPro