Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Получить данные с другой страницы в фору (https://javascript.ru/forum/events/37153-poluchit-dannye-s-drugojj-stranicy-v-foru.html)

DDSSDD 09.04.2013 16:57

Получить данные с другой страницы в фору
 
Сформулировать правильно вряд ли смогу, по этому опишу суть вопроса:

1.Есть форма обратной связи (заказ товара) в отдельном html файле;
2.Форма вызывается кнопкой "Купить" с любой страницы сайта в frame модального окна Higslide;
3. Данные с формы, методом POST, передаются обработчику smtpMail.php на другом хостинге (так как основной не поддерживает PHP);
4. Форма для всех страниц одна, а товар разный.

Как передавать в поле imput формы (загруженной через Higslide) значение (название, стоимость) товара, с страницы с которой была вызвана форма?

Гуглил, но видно не правильно формулирую свой запрос - ничего не нашел.
Подскажите хотя бы куда копать.

dmitriymar 09.04.2013 17:08

Наверное уже недели 2-3 не было этого вопроса. странно, любили его задавать по нескольку раз на день
http://javascript.ru/forum/misc/9459...prosy-faq.html
вопрос номер 1

DDSSDD 09.04.2013 17:32

Я к сожалению не знаю Javascript. То, куда Вы направили у меня не работает:(

<script src="http://ajax.microsoft.com/ajax/jquery/jquery-1.4.2.min.js" type="text/javascript"></script>  

<script type="text/javascript">
$("documend").ready(function(){
   $("#container").load("http://mysite.ru/page2.html");
});
</script>

dmitriymar 09.04.2013 17:44

Цитата:

Сообщение от DDSSDD
2.Форма вызывается кнопкой "Купить" с любой страницы сайта в frame модального окна Higslide;

1. Не могу получить доступ к содержимому iframe?
Ответ:
- если у iframe и страницы с которой вызывается iframe разные домены или протоколы или порты
(пр: site.ru, iframesite.ru; site.ru:80, site.ru:8080; http://site.ru, https://site.ru), то доступ друг к другу они получить не могут(same origin policy) подробнее ...

DDSSDD 09.04.2013 17:59

Наверное действительно плохо формирую свои вопросы...

Форма html и страницы, с которых она вызываются находятся на одном сайте (один домен, порт и т. д.). А так же на одном уровне (без подкаталогов и т. п.)

Помогите пл. хоть сырым скриптом, который можно докрутить самому.

dmitriymar 09.04.2013 18:25

Цитата:

Сообщение от DDSSDD
Данные с формы, методом POST, передаются обработчику smtpMail.php на другом хостинге (так как основной не поддерживает PHP);

и автоматом после передачи-
Цитата:

Сообщение от DDSSDD
Форма html и страницы, с которых она вызываются находятся на одном сайте (один домен, порт и т. д.). А так же на одном уровне (без подкаталогов и т. п.)

содержимое фрейма становиться содержимым с другого домена .

dmitriymar 09.04.2013 18:39

Цитата:

Сообщение от DDSSDD
Помогите пл. хоть сырым скриптом, который можно докрутить самому.

в чём сыром, если вы толком не можете объяснить что нужно?

1 у фрейма есть событие загрузки onload
2 по событию загрузки нужно установить значение инпута фрейма.
получить доступ к контенту фрейма можно так
контент = (e.contentDocument) ? e.contentDocument : (e.contentWindow) ? e.contentWindow.document : e.document;


и соответственно контент.инпут.value = нужное значение

при условии нахождения и фрейма и страницы на одном домене . а с www и без -это разные домены тоже

DDSSDD 09.04.2013 18:54

Так мне и нужно ДО ПЕРЕДАЧИ данных на сервер, а следовательно и переадресации, подставить в одно из полей формы input значение с страницы, в фрейме которой форма была загружена - к примеру из <div id="tovar">Синхрофазотрон - 500 у.е.</div>

То есть имеем:

http://mysite/page1.html

<html>
<body>
<div id="tovar">Синхрофазотрон - 500 у.е.</div>
<a href="back_form.html"
        onclick="return hs.htmlExpand(this, {
            objectType: 'iframe', width: 430, height: 430, align: 'center' } )" id="cupit">КУПИТЬ</a>
</body>
</html>


http://http://mysite/back_form.html

<html>
<body>
<form action="http://hostingsPHP/SMTPmailer.php"  method="POST">
<input id="tovar" name="tovar" type="text" value=""/>
<input id="name" name="name" type="text" value=""/>
<input id="phone" name="phone" type="text" value=""/> 
<input id="button" type="submit" name="submit" value="Отправить"/>
</form>
</body>
</html>


Мне нужно, что бы скрипт подставлял в <input id="tovar" name="tovar"/> загружаемой на странице http://mysite/page1.html в модальном окне Higslide формы http://mysite/back_form.html значение с div id="tovar" страницы http://mysite/page1.html. Конкретно в <input id="tovar" name="tovar" type="text" value=""/>

DDSSDD 09.04.2013 18:59

Цитата:

Сообщение от dmitriymar (Сообщение 245129)
контент = (e.contentDocument) ? e.contentDocument : (e.contentWindow) ? e.contentWindow.document : e.document;

Помогите с синтаксисом.. Говорю же, не силен в JS.

dmitriymar 09.04.2013 19:37

Цитата:

Сообщение от DDSSDD
Помогите с синтаксисом.. Говорю же, не силен в JS.

И как вы думаете, по во вашему , ктото кроме вас знает что такое:
Цитата:

Сообщение от DDSSDD
hs.htmlExpand(this, {
objectType: 'iframe', width: 430, height: 430, align: 'center' } )

Для меня , это функция написанная кем то ,принимающая какие то параметры , возможно что то делающая -не более
попытаюсь угадать. это функция укоза? да? -так вполне логично задавать вопросы по функционалу укоза на форуме укоза, а здесь им навряд ли кто балуется

P.S заметил что указан Higslide, о существовании которого и представлении не имел


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