В настоящее время у меня есть проблема с моей программой, из-за которой я пытаюсь произвести поиск в реальном времени (так же, как в Google) с использованием AJAX.На данный момент он основан на списке городов, поэтому, когда пользователь вводит, например, «A» в форме, он отображает список всех городов, которые начинаются с «A».Если пользователь продолжит печатать, например, «Al», он покажет список всех городов, которые начинаются с «Al» и т. Д. И т. П.
Проблема, с которой я столкнулся, как следует из названия, то, что, если я возвращаю (удаляю) текст в форме, мой скрипт на python отправит ответ, чтобы снова напечатать HTML-страницу, таким образом имея две копии формы.
Ниже приведены некоторые ссылки на изображения того, чтоЯ имею в виду
Второй поиск:
http://img694.imageshack.us/img694/1972/city3f.jpg
Дубликат страницы:
http://img819.imageshack.us/img819/5808/city4p.jpg
Ниже мой код:
Python:
city = list()
if form.has_key('q'):
if len(form['q'].value) > 0:
for item in city_names: # city_names is a list of cities
if item.startswith(form['q'].value):
if not city:
city.append(item)
else:
city.append(item)
print "Content-Type: text/html\n"
print city
else:
print "Content-Type: text/html\n"
print template #html
AJAX:
function showCity(string)
{
var xmlhttp;
if (window.XMLHttpRequest){ // Code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}else{ // Code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200){
document.getElementById("City").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET", "/cgi-bin/suggestions.py?q="+string, true);
xmlhttp.send();
}
Пожалуйста, помогите