2012-05-23 3 views
0

У меня есть родительская страница, которая открывает всплывающее окно. на всплывающей странице пользователь может выбрать значение, которое возвращается на родительскую страницу.Значение Javascript pass от всплывающей страницы до родителя

фрагмент кода на родительской странице:

<script type="text/javascript"> 
function selectValue(id) 
{ 
    // open popup window and pass field id 
    window.open('sku.php?id=' + encodeURIComponent(id),'popuppage', 
     'width=400,toolbar=1,resizable=1,scrollbars=yes,height=400,top=100,left=100'); 
} 

function updateValue(id, value) 
{ 
    // this gets called from the popup window and updates the field with a new value 
    document.getElementById(id).value = value; 
} 

</script> 

и фрагмент кода для тха всплывающей возраста:

<script type="text/javascript"> 
function sendValue(value) 
{ 
    var parentId = <?php echo json_encode($_GET['id']); ?>; 
    window.opener.updateValue(parentId, value); 
    window.close(); 
} 
</script> 

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

Могу ли я изменить всплывающий код, чтобы вернуться к исходной родительской странице? в моем случае родительская страница - newsalea.php. Могу ли я сделать что-то вроде:

<script type="text/javascript"> 
function sendValue(value) 
{ 
    var parentId = <?php echo json_encode($_GET['id']); ?>; 
    window.opener.updateValue(newsale.php, value); 
    window.close(); 
} 

Таким образом, я жестко указываю родителя на всплывающие страницы? Это возможно?

Спасибо, Райан

+4

Должно ли быть новое окно. Могли бы вы использовать модальный div? – Dve

+2

Да, не используйте всплывающие окна. Они ужасные UX и обычно глубоко раздражают. – ThiefMaster

+0

Привет, Дейв, он должен быть новой страницей, так как у родителя есть более 150 строк, поэтому не получится, чтобы div появился в правильном месте для выбора пользователем. Спасибо, – Smudger

ответ

2

Нет необходимости использовать window.open можно использовать всплывающее окно JavaScript библиотеки как jquery dialoge! или fancybox и просто скажите parent.div = ваше значение

+0

спасибо, что бы моя ценность была? Newsale.php? – Smudger

+1

значение исходит из вашей функции updateValue – Rami

Смежные вопросы