Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Спецы помогите нубу! (https://javascript.ru/forum/misc/34029-specy-pomogite-nubu.html)

Юрий Манылов 18.12.2012 13:27

Спецы помогите нубу!
 
Имеется код на одной странице сайта
<div style="position: fixed; top:100px; left:20px;">
<p id="1">85485984</p>
<p id="2">24324</p>
<p id="3">87567647</p>
</div>
нужно чтобы значение id="1" появлялось на другой странице этого же сайта
:help: :help: :help:
Кто поможет сразу пришлю на телефон 100 рублей!

bushstas 18.12.2012 13:32

в каком виде оно там должно появляться?
в виде php переменной или просто должно выводиться обычным текстом?

function opendata($path){$fp=fopen($path,'r');$data=fread($fp,filesize($path)>0?filesize($path):1);fclose($fp);return $data;}
$data=opendata("путь к странице с нужным элементом P");
$parts = preg_split('/\<p id\="тут занчение ID"\>/i',$data);
if(isset($parts[1])){$t=explode("<",#parts[1]);$text=$t[0];}
// переменная $text будет содержать нужное значение


как-то так думаю

но такой метод это конечно жесть )))))

Юрий Манылов 18.12.2012 13:32

Хотя бы намекните в каком направлении "копать"

Юрий Манылов 18.12.2012 13:33

85485984 вот это вот выходило на другой странице
такое возможно?

Юрий Манылов 18.12.2012 13:37

обычным текстом вообщем!

tsigel 18.12.2012 13:42

ели ты всё пытаешься сделать админку для своего сайта, то самый простой вариант это сделать общий js файл и редактировать его (в нем можно будет сделать список товаров и цен).

Сделать перенос переменной с одной страницы на другую без внешнего файла невозможно, т.к. для каждой страницы js файлы перезагружаются. Необходимо либо освоить запись данных в xml, либо сделать общий скрипт со списком товаров и редактировать его.

bushstas 18.12.2012 13:44

смотри мой пост вверху там один из вариантов, если конечно PHP тебе доступно ))))

tsigel 18.12.2012 13:46

не, там сайт на народе, никакого php)

bushstas 18.12.2012 13:47

блин без PHP магазин делать гемор, купи друг хостинг площадку за рубль в год и радуйся

Юрий Манылов 18.12.2012 13:55

сделал вот так на первой странице
<body>
<div style="position: fixed; top:100px; left:20px;">
<p id="1">85485984</p>
<p id="2">24324</p>
<p id="3">87567647</p>
</div>
</body>
на второй вставил твой код:
<body>
<script>
function opendata($path){$fp=fopen($path,'r');$data=fread($ fp,filesize($path)>0?filesize($path):1);fclose($fp );return $data;}

$data=opendata("./ok.html");

$parts = preg_split('/\<p id\="1"\>/i',$data);

if(isset($parts[1])){$text=explode("<",#parts[1]);}
alert(text);
// переменная текст будет содержать нужное значение
</script>
</body>
после сохранения обоих страниц в корневой папке, после запуска второй страницы ничего не происходит, хотя alert(text);

tsigel 18.12.2012 13:58

))) конечно не произошло, это же php функция)))

Юрий Манылов 18.12.2012 14:06

примерно так? делаю фаил price.js
в нем прописываю:
var svetodiod_krasnyi="1.98";
var svetodiod_belyi="2.38";
потом подключаю его в html
<head>
<script type="text/javascript" src="price.js"></script>
</head>
потом в тексте на любой странице сайта пишу так
<body>
Цена красного светодиода: <span><script>document.write(svetodiod_krasnyi); </script></span>
</body>
Все правильно сделал??????

tsigel 18.12.2012 14:08

Цитата:

Сообщение от Юрий Манылов
<span><script>document.write(svetodiod_krasnyi); </script></span>

в корне не верно

внутри твоего price.js должно быть примерно следующее (при подключенном jQuery):

$(function() {
  var svetodiod_krasnyi="1.98";
  var svetodiod_belyi="2.38";

  $('#svetodiod_krasnyi').text(svetodiod_krasnyi);
})


где $('#svetodiod_krasnyi') - это id спана с ценой.

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

Юрий Манылов 18.12.2012 14:11

а у меня сработало, а что неверно то?

Юрий Манылов 18.12.2012 14:20

я сделал так сохранил price.js такого содержания
$(function() {
var svetodiod_krasnyi="1.98";
var svetodiod_belyi="2.38";
$('#svetodiod_krasnyi').text(svetodiod_krasnyi);
})
далее создал ok.html такого содержания
<html>
<head>
<title>Без названия</title>
<meta name="generator" content="Namo WebEditor">
<script type="text/javascript" src="price.js"></script>
</head>
<body>
Цена красного светодиода: <span id="svetodiod_krasnyi"></span>
</body>
</html>
при открытии файла ok.html ничего не происходит???
а моим первым способом все работало???

tsigel 18.12.2012 14:21

не делают так. Если ты создаешь скрипт, то все операции должны быть в файле. Чтобы если тебе надо было что-то изменить ты не лазил потом по всем страницам. Не раскидывай элементы скрипта по страницам.

Ты не подключил jQuery

Юрий Манылов 18.12.2012 14:22

помоги как написать правильно и 100 рублей на тел твои!!!

tsigel 18.12.2012 14:23

подключи перед своим price.js это
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>

Юрий Манылов 18.12.2012 14:26

все заработало а в чем прикол можешь поэлементно мне объяснить и зачем я подключал <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
это???


так ведь тоже работало

var svetodiod_krasnyi="1.98";
var svetodiod_belyi="2.38";
потом подключаю его в html
<head>
<script type="text/javascript" src="price.js"></script>
</head>
потом в тексте на любой странице сайта пишу так
<body>
Цена красного светодиода: <span><script>document.write(svetodiod_krasnyi); </script></span>
</body>
Все правильно сделал??????

tsigel 18.12.2012 14:34

Цитата:

Сообщение от Юрий Манылов
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>

Это подключение библиотеки jQuery, она очень сильно упрощает работу с селекторами и у неё очень много мощных и удобных функций (подробнее можешь посмотреть набрав в гугле jQuery, можно найти и русскую документацию).

Упрощение работы с селекторами заключается в том, что чтобы получить доступ к html объекту с каким либо классом тебе достаточно написать $('.someClass') как в css

Старайся сделать так, чтобы весь твой js код (относящийся к price) был внутри одного файла.

Юрий Манылов 18.12.2012 14:49

все зашебись работает!!!!!!!:dance:
tsigel, спс тебе и респект огромный давай свой номер телефона денег кину

tsigel 18.12.2012 14:54

89096554733) Всегда рад такой инициативе!) И тебе спасибо.

Советую сделать всётаки с помощью массива чтобы не плодить переменные.
Можешь писать в скайп TsDaniil.


Часовой пояс GMT +3, время: 15:23.