Нажмите значения на предыдущую страницу, используя JavaScript - PullRequest
1 голос
/ 08 августа 2011

Я хочу получить значение, используя ТОЛЬКО JavaScript с другой страницы. Я пробовал с обычным файлом javascript между страницами, но мне не удалось ... Вот пример ...

Страница 1: 1. Текстовое поле (1) на странице 1 (пусто) 2. Кнопка (1) на странице 1

Страница 2: 1. Текстовое поле (2) на странице 2 2. Кнопка (2) на странице 2

Работает: 1. При нажатии кнопки (1) на СТР. 1 открывается новое окно, т. Е. СТР. 2, и старое окно не будет повреждено (не будет закрыто) 2. После открытия нового окна я ввел некоторый текст в текстовое поле (2) на СТР. 2 2. При нажатии кнопки (2) на странице 2, значение, введенное в текстовое поле (2), должно быть вставлено в текстовое поле страницы 1 (1).

ПРИМЕЧАНИЕ: Если возможно с JQuery, то мой второй выбор, если javascript не работает ...

проверьте это изображение: http://i25.lulzimg.com/54e219.jpg

Ответы [ 4 ]

1 голос
/ 08 августа 2011

Поскольку оно отсутствует: Jquery Solution

Сценарий на родительской странице:

$("#button1").click(function () {
    window.open(url, "title", "width=400,height=400");
    return false;
});

Сценарий на дочерней странице:

$("#button2").click(function () {
    window.opener.$("#textbox1").val($("#textbox2").val());
    return false;
});
1 голос
/ 08 августа 2011

Прежде всего, как упоминал Джош, jQuery - это просто библиотека, написанная на javascript.Во-вторых, если вы открываете вторую страницу в новом окне, вы хотите использовать кросс-оконную связь с javascript.Когда вы выполняете ваш вызов window.open, он возвращает дескриптор недавно открытого окна:

var windowHandle = window.open(....);
windowHandle.doStuff() 

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

Связь между окнами в js по имени окна

Надеюсь, это поможет!

0 голосов
/ 08 августа 2011

Хотя я не понимаю, почему вы не просто вводите текст в textbox1, а не копируете его из # 2 ....

Вместо того, чтобы открывать новое окно, поместите содержимое этой "второй страницы" на первую страницу (не обращайте внимания на совпадения имен элементов), содержащиеся внутри div, объявленного скрытым. Нажав первую кнопку, сделайте div видимым. Нажав вторую кнопку, установите текст из второго поля в первое поле и снова скройте div.

Все это можно сделать довольно просто с помощью javascipt, еще проще с jquery (все еще javascript).

0 голосов
/ 08 августа 2011

Предполагая, что обе страницы обслуживаются из одного домена, вы можете использовать window.opener для ссылки на page1 из page2:

window.opener.document.getElementById("textfield1").value
    = document.getElementById("textfield2").value;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...