Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.08.2015, 23:30
Интересующийся
Отправить личное сообщение для scorpion95 Посмотреть профиль Найти все сообщения от scorpion95
 
Регистрация: 01.08.2015
Сообщений: 24

Помогите разобратся, изминение переменной
Я только начал изучать JS, до этого с PHP дело имел.
Наклепал незамысловатый кодец который должен бы работать, но не работает. Посмотрите что не так, пожалуйста.

<html>
<head>
<title>
iNetNation - виртуальное интернет государство
</title>
<link href="../css/main.css" rel="stylesheet" type="text/css">
<script src="javascript/main.js"></script>
</head>
<body>
<?include 'includes/header.php'?>
<?include 'includes/sidebar.php'?>
<div class="content" name="content">
<script>document.write(a);</script>
</div>
<?include 'includes/footer.php'?>
</body>
</html>


// это файл где кнопка находится
<div class="sidebar">
<div class="menu">
<input class="menu_button" type="submit" name="main" onclick="main()" value="Главная">
<input class="menu_button" type="submit" name="map" value="Карта">
<input class="menu_button" type="submit" name="registration" value="Регистрация">
<input class="menu_button" type="submit" name="input" value="Вход">
</div>
</div>


var a = 'asd';
function main(){
	a = 'FFF';
}


Проблема в том, что при нажатии на кнопку с именем main, новое значение переменной a не выводится в <script>document.write(a);</script>, то есть оно остается неизменным.
Как код изменить чтоб работало?
Ответить с цитированием
  #2 (permalink)  
Старый 02.08.2015, 10:36
Интересующийся
Отправить личное сообщение для scorpion95 Посмотреть профиль Найти все сообщения от scorpion95
 
Регистрация: 01.08.2015
Сообщений: 24

Хелп плиз.
Ответить с цитированием
  #3 (permalink)  
Старый 02.08.2015, 10:50
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

scorpion95,
1. document.write(a) нельзя использовать произвольно, по событию, когда страница уже загружена, т.е вывод через document.write - однократен
Можно попробовать так
<div id="div_write" class="content" name="content">
<script>var a = 'asd';
function main(){
   a = 'FFF';
   document.getElementById('div_write').innerHTML = a;
}
document.write(a);
</script>
</div>

Или оставить саму функцию, где и раньше, добавив ID элементу и строку cиним
var a = 'asd';
function main(){
a = 'FFF';
document.getElementById('div_write').innerHTML = a;
}

Последний раз редактировалось Deff, 02.08.2015 в 10:54.
Ответить с цитированием
  #4 (permalink)  
Старый 02.08.2015, 10:51
Интересующийся
Отправить личное сообщение для scorpion95 Посмотреть профиль Найти все сообщения от scorpion95
 
Регистрация: 01.08.2015
Сообщений: 24

Сообщение от Deff Посмотреть сообщение
scorpion95,
1. document.write(a) нельзя использовать произвольно, по событию, когда страница уже загружена, т.е вывод через document.write - однократен
Можно попробовать так
<div id="div_write" class="content" name="content">
<script>var a = 'asd';
function main(){
   a = 'FFF';
   document.getElementById('div_write').innerHTML = a;
}
document.write(a);
</script>
</div>
Про innerHTML я знаю, но это мне не подходит, ибо PHP скрипт так не загрузишь, а мне надо сделать include PHP-скрипта по нажатию кнопки.
Ответить с цитированием
  #5 (permalink)  
Старый 02.08.2015, 10:57
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

scorpion95,
http://javascript.ru/tutorial/dom
Что Вы конкретно хотите вставить на страницу, через скрипт ? - нарисуйте примерный кусок
Ответить с цитированием
  #6 (permalink)  
Старый 02.08.2015, 11:41
Интересующийся
Отправить личное сообщение для scorpion95 Посмотреть профиль Найти все сообщения от scorpion95
 
Регистрация: 01.08.2015
Сообщений: 24

Сообщение от Deff Посмотреть сообщение
scorpion95,
http://javascript.ru/tutorial/dom
Что Вы конкретно хотите вставить на страницу, через скрипт ? - нарисуйте примерный кусок
function main(){
    a = '<?include 'pages/main.php'?>';
}

Ну вот что-то типо этого я хочу передавать в значение блока content на странице.
Ответить с цитированием
  #7 (permalink)  
Старый 02.08.2015, 11:57
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

scorpion95,
Вы контент страницы покажите ?
Если там нет тегов <html> и скриптов, то в принципе достаточно и .innerHTML
<!DOCTYPE>
<html>
<head>
</head>
<body>
<div id="div_write" class="content" name="content">вапвапвап</div>
<script>
   var a = '<input type="file"/><b>Привет!</b>';
   document.getElementById('div_write').innerHTML  = a;

</script>
</body>
</html>
Ответить с цитированием
  #8 (permalink)  
Старый 02.08.2015, 12:04
Интересующийся
Отправить личное сообщение для scorpion95 Посмотреть профиль Найти все сообщения от scorpion95
 
Регистрация: 01.08.2015
Сообщений: 24

Сообщение от Deff Посмотреть сообщение
scorpion95,
Вы контент страницы покажите ?
Если там нет тегов <html> и скриптов, то в принципе достаточно и .innerHTML
<!DOCTYPE>
<html>
<head>
</head>
<body>
<div id="div_write" class="content" name="content">вапвапвап</div>
<script>
   var a = '<input type="file"/><b>Привет!</b>';
   document.getElementById('div_write').innerHTML  = a;

</script>
</body>
</html>
В том-то и дело, что там есть php-скрипт. Я хочу чтоб при нажатии кнопок меню у меня в контент загружалась страница регистрации, страница авторизации и т.д. (через инклюд соответствующей php страницы), а innerHTML не запускает PHP код.
Ответить с цитированием
  #9 (permalink)  
Старый 02.08.2015, 12:14
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

scorpion95,
Хм Вам нужно перегрузить страницу по иному адресу или подгрузить свой контент в <div> ? Поскольку и document.write(a); не позволит вам Подгрузить целиком страницу, тут либо скриптом вызывать переход по новому адресу на вкладке, по нажаию кнопки смена и загрузка новостраницы, либо аяксом подгружать контент на страницу
Ответить с цитированием
  #10 (permalink)  
Старый 02.08.2015, 12:18
Интересующийся
Отправить личное сообщение для scorpion95 Посмотреть профиль Найти все сообщения от scorpion95
 
Регистрация: 01.08.2015
Сообщений: 24

Сообщение от Deff Посмотреть сообщение
scorpion95,
Хм Вам нужно перегрузить страницу по иному адресу или подгрузить свой контент в <div> ? Поскольку и document.write(a); не позволит вам Подгрузить целиком страницу, тут либо скриптом вызывать переход по новому адресу на вкладке, по нажаию кнопки смена и загрузка новостраницы, либо аяксом подгружать контент на страницу
Нужно без перегрузки, подрузить свой контент в div.
А на Аяксе как это примерно выглядеть будет?

П.С. мне пришлось изучать JS только из-за того, что PHP не может обращаться к id элемента, как-то туго этот язык идет.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите разобратся с перевод числа в текст Хабиб1122 Работа 3 14.11.2014 12:31
Помогите разобратся с перевод числа в текст Хабиб1122 Javascript под браузер 12 13.11.2014 19:58
Помогите разобратся в 2-ох вопросах kyivprogs Javascript под браузер 1 03.04.2012 13:38
помогите с переменной satyr22 Internet Explorer 1 24.08.2011 00:05
Помогите сохранить значение переменной! Gustus Общие вопросы Javascript 9 22.02.2009 18:11