Обнуление результата ajax запроса
Подскажите пожалуйста:
Есть кнопка при нажатии на которую появляется оверлейное окно с полем input, в котором вбиваем некое название и отправляем php скрипту, скрипт пишет в БД и выводит результат. Все нормально работает. Проблема вот в чем: При повторном открытии оверлейной формы, предыдущий результат работы php скрипта не обнуляется. Вот код: <script> //Вызов оверлейного окна function WindowVirtualOrg() { var div = document.getElementById('WindowVirtualOrg'); if(div.style.display == 'none') { div.style.display = 'block'; } } //Выполнение ajax запроса function start(){ xhttp=new XMLHttpRequest(); xhttp.onreadystatechange=function(){ if (xhttp.readyState==4 && xhttp.status==200) document.getElementById('ajax').innerHTML=xhttp.responseText; } xhttp.open('POST','php/test.php',true); <!--Установим тип передаваемого содержимого как у форм--> xhttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); var data=document.getElementById('name_virtual_org').value; if(data) { xhttp.send('name='+data); document.getElementById('form_name_virtual_org').reset(); } else { document.getElementById('ajax').innerHTML=''; document.forms.form_name_virtual_org.name_virtual_org.focus(); } } </script> //html форма отправки <form id='form_name_virtual_org'> <input type='text' id='name_virtual_org' autofocus><button onclick='start()'><img src='pic/24/save_24.png'>Сохранить</button> </form> <div id='ajax'></div> И php код: <?php session_start(); $db_link_default = mysqli_connect( '127.0.01', /* Хост, к которому мы подключаемся */ 'root', /* Имя пользователя */ '158964', /* Используемый пароль */ 'xz'); /* База данных для запросов по умолчанию */ if(!$db_link_default) { echo ("Невозможно подключиться к базе данных. Код ошибки: %s\n"); } //Входные данные $name=$_POST[name]; /* Посылаем запрос серверу */ $result= mysqli_query($db_link_default,"select count(*) from virtual_organizations where name='$name'"); $row = mysqli_fetch_row($result); if(!$row[0]) { $insert=mysqli_query($db_link_default,"insert into virtual_organizations (name) value('$name')"); echo "<img src='pic/24/apply_24.png'>Сохранено значение «$name»"; /* Освобождаем используемую память */ mysqli_free_result($result); } else { echo "<img src='pic/24/alert_24.png'>Организация с именем уже есть! "; } /* Закрываем соединение */ mysqli_close($db_link_default); ?> |
Цитата:
вам инпут нужно очистить? document.getElementById('name_virtual_org').value=""; а вы уверенны что у вас эта форма есть? document.getElementById('form_name_virtual_org').r eset(); |
Цитата:
|
Цитата:
|
dmitriymar,
|
Цитата:
и у devote, не кешируется :) |
:lol: Точно - мну соврал
|
Так вообще не работает:
xhttp.open('POST','php/test.php?'+Math.random(),true); А так работает только если ajax запрос не выполнять, т.е при первом вызове оверлейной формы, но не выполняя запрос: document.getElementById('form_name_virtual_org').reset(); |
Все спасибо разобрался.
|
Часовой пояс GMT +3, время: 15:38. |