Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.07.2016, 14:30   #1
quarty
Форумчанин
 
Аватар для quarty
 
Регистрация: 09.10.2010
Сообщений: 124
По умолчанию Загрузка контента без перезагрузки страницы

Поставил скрипт http://coderhs.com/archive/content_loading_ajax
Все работает, но он не работают скрипты( php, js)
То-есть например подгружаю форму отправки, все выводиться внешне, но работать не будет, а если отдельно включить файл все работает, в чем может быть причина?
quarty вне форума Ответить с цитированием
Старый 18.07.2016, 14:33   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Код покажите.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 18.07.2016, 14:55   #3
quarty
Форумчанин
 
Аватар для quarty
 
Регистрация: 09.10.2010
Сообщений: 124
По умолчанию

Между <head></head>:

Код:
<script>
    function showContent(link) {
        var cont = document.getElementById('content');
        var loading = document.getElementById('loading');
        cont.innerHTML = loading.innerHTML;  
        var http = createRequestObject();
        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 объект
    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>
Между <body></body>:

Код:
<a href="#" onClick="showContent('page1.html')">Страница 1</a>
<a href="#" onClick="showContent('page2.html')">Страница 2</a>
<!--//-->
<div id="content">
    <!-- CONTENT -->
</div> 
<!--//-->
<div id="loading" style="display: none"> 
    Идет загрузка... 
    </div> 

<script>
showContent('page1.html') // страница по умолчанию
</script>

Последний раз редактировалось Alex11223; 18.07.2016 в 15:09.
quarty вне форума Ответить с цитированием
Старый 18.07.2016, 15:09   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Свой код, и загружаемой страницы.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 18.07.2016, 15:19   #5
quarty
Форумчанин
 
Аватар для quarty
 
Регистрация: 09.10.2010
Сообщений: 124
По умолчанию

Вот код подгружаемой страницы, а тот код такой же как и сверху, если открыть отдельно эту страницу, она работает и отправляет что надо в базу, а когда подгружаю через скрипт не работает


Код:
<?php
include $_SERVER['DOCUMENT_ROOT'].'/inc/db.php';

if( $_SESSION['user_logined'] == false ){
	header('Location: /auth');
}else{
	$sth = $connection->prepare("SELECT `firstname`, `country`, `lastname` FROM `users` WHERE `id` = ?");
	$sth->execute(array($_SESSION['user_id']));
	$user = $sth->fetch();
	if( is_array($user) ){
		
	}else{
		unset($_SESSION['user_logined']);
		header('Location: /auth');
	}
}	
session_start();
if($_POST['go']) {
 $error = array();
 if(!empty($error)) {
  foreach($error as $err) {
   echo "<p style=\"color:red\">$err</p><br>";
  }
 } else {
  require_once "config.php";
var_dump($_SESSION['user_id']);
  $query = "INSERT INTO txt VALUES (NULL, '$_POST[about]', '".date('d.m.Y в H:i:s')."', '".$_SESSION['user_id']."')";
  $res = mysql_query($query);
  if(!$res) {
   exit("Не удалось занести данные в таблицу");
  } else {
   echo "<strong>Данные успешно занесены</strong><br><br>";
  } 
 }
}
?>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
 
<div>
<span>Осталось:&nbsp;</span><span class="afss_day_bv">0</span> д.
<span class="afss_hours_bv">00</span>&nbsp;час.&nbsp;
<span class="afss_mins_bv">00</span>&nbsp;мин.&nbsp;
<span class="afss_secs_bv">00&nbsp;</span>&nbsp;сек.
</div>

 
<script type="text/javascript">//<![CDATA[
var remain_bv   = 80768;
function parseTime_bv(timestamp){
    if (timestamp < 0) timestamp = 0;
 
    var day = Math.floor( (timestamp/60/60) / 24);
    var hour = Math.floor(timestamp/60/60);
    var mins = Math.floor((timestamp - hour*60*60)/60);
    var secs = Math.floor(timestamp - hour*60*60 - mins*60); 
    var left_hour = Math.floor( (timestamp - day*24*60*60) / 60 / 60 );
 
    $('span.afss_day_bv').text(day);
    $('span.afss_hours_bv').text(left_hour);
 
    if(String(mins).length > 1)
        $('span.afss_mins_bv').text(mins);
    else
        $('span.afss_mins_bv').text("0" + mins);
    if(String(secs).length > 1)
        $('span.afss_secs_bv').text(secs);
    else
        $('span.afss_secs_bv').text("0" + secs);
     
}
 
$(document).ready(function(){
    setInterval(function(){
        remain_bv = remain_bv - 1;
        parseTime_bv(remain_bv);
        if(remain_bv <= 0){
            alert('Hello');
        }
    }, 1000);
});
//]]>
</script>
<br>
<form method="post">
<center><table>
<tr><td><textarea cols="45" rows="5" name="about">...</textarea>

</tr>
<tr><td><input type="submit" name="go"></td></tr></center>
</table>
</form>
______________________
Используйте тег [CODE] (кнопка с решеткой # в форме сообщения) при вставке кода на форум.

Последний раз редактировалось Alex11223; 18.07.2016 в 15:21.
quarty вне форума Ответить с цитированием
Старый 18.07.2016, 15:27   #6
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

У формы скорее всего адрес отправки указать надо (атрибут action).

Про JS смотрите что в консоли (кнопка F12 в браузере).
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 18.07.2016, 15:41   #7
quarty
Форумчанин
 
Аватар для quarty
 
Регистрация: 09.10.2010
Сообщений: 124
По умолчанию

Но отдельно код работает
quarty вне форума Ответить с цитированием
Старый 18.07.2016, 15:47   #8
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

А, ну тогда все ок, не парьтесь и не делайте ничего.

Про адрес отправки формы, по умолчанию это адрес текущей страницы. Поэтому у вас он вряд ли тот, что вам нужен, если вы не на той же странице ее саму загружаете.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 18.07.2016, 16:25   #9
quarty
Форумчанин
 
Аватар для quarty
 
Регистрация: 09.10.2010
Сообщений: 124
По умолчанию

И как мне сделать чтоб работало? ПРосто например ставлю тот же скрипт таймер, который пару строчек кода, и он тоже не работает, а отдельно работает, хотя файлы никакие не подгружает
quarty вне форума Ответить с цитированием
Старый 18.07.2016, 16:30   #10
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

РНР и JS никак не связаны друг с другом. Первое выполняется на сервере во время запроса, второе на клиенте.

Для формы как минимум укажите в ней адрес отправки (атрибут action).

Для JS для начала посмотрите есть ли ошибки в консоли (кнопка F12 в браузере).
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Голосование Без Перезагрузки Страницы Nick888 HTML и CSS 1 11.01.2015 01:44
Голосование Без Перезагрузки Страницы Nick888 WordPress и другие CMS 0 23.12.2014 21:56
Submit без перезагрузки страницы Tyoma5891 PHP 21 05.03.2014 16:53
Загрузка контента без перезагрузки страницы alextrof94 JavaScript, Ajax 3 02.09.2013 21:53
Динамическое изменение URL страницы в JavaScript без перезагрузки страницы ilusha JavaScript, Ajax 7 25.02.2009 09:59