Нашел в сети код, который позволят подгружать файлы без перезагрузки страницы. Вот основной кусок кода:
<script>
function showContent(link) {
var cont = document.getElementById('contentBody');
var loading = document.getElementById('loading');
cont.innerHTML = loading.innerHTML;
var http = createRequestObject(); // создаем ajax-объект
if( http ) {
http.open('get', link); // инициируем загрузку страницы
http.onreadystatechange = function () { // назначаем асинхронный обработчик события
if(http.readyState == 4) {
cont.innerHTML = http.responseText; // присваиваем содержимое
}
}
http.send(null);
} else {
document.location = link; // если ajax-объект не удается создать, просто перенаправляем на адрес
}
}
// создание ajax объекта
function createRequestObject() {
try { return new XMLHttpRequest() }
catch(e) {
try { return new ActiveXObject('Msxml2.XMLHTTP') }
catch(e) {
try { return new ActiveXObject('Microsoft.XMLHTTP') }
catch(e) { return null; }
}
}
}
</script>
</head>
<body>
<p>Какую страницу желаете открыть?</p>
<form>
<input onclick="showContent('page1.php')" type="button" value="Страница 1">
</form>
<div id="contentBody">
</div>
<div id="loading" style="display: none">
Идет загрузка...
</div>
</body>
Все работает четко и быстро, НО при подгрузке страницы page1.php соответственно кнопка "Страница 1" остается сверху данной страницы. Как возможно от нее избавится, чтобы она исчезала при подзагрузке page1.php?
Пытался сделать такие костыли: включить сам данный код в страницу page1.php,
код <input onclick="showContent('page1.php')" type="button" value="Страница 1"> заменил на
<input onclick="showContent('page1.php?send=1')" type="button" value="Страница 1">
При подзагрузке методом GET получал значение send и если send=1 гружу форму отправки, если не равно 1 - кнопку подзагрузки.
Ничего не получается - при подзагрузке все равно присутствует кнопка. Как от нее избавится???
В общем сам разобрался - достаточно добавить в кнопку onclick="style.display='none'; (Отредактировано автором: 05 Января, 2015 - 20:27:03)
|