2011-02-01 19 views
5

Mam nadzieję, że ktoś może być na tyle uprzejmy, aby pomóc mi w rozwiązaniu tego problemu.Wartość okna wyskakującego wartość zwracana

Co próbuję zrobić Zwracam wartość z wyskakującego okna do okna nadrzędnego, które uruchomiło go za pomocą javascript.

Co Próbowałem dzwoni (jak czytać na różnych stronach internetowych)

window.opener.document.forms[0].textField.value = 'value' 

ale gdy to nie przynosi żadnych błędów nie zmienia wartości pola.

Próbowałem wyszukiwać w sieci, aby znaleźć rozwiązanie tego problemu, ale jest tak wiele witryn związanych z "wyskakującą wartością zwracaną" w google, wyniki sięgają 2000 roku, wiele z nich wydaje się być ze sobą sprzecznych, więc jestem nieco zdezorientowany .

Najlepiej byłoby, gdyby okno wyskakujące oczekiwało na podjęcie decyzji (tak lub nie), a wartość true lub false powróci do funkcji wywołującej z okna nadrzędnego. Jako powód tego, jest to, że mam formularz używa onsubmit, aby wywołać funkcję javascript, aby potwierdzić pogodę, aby kontynuować na nie. Używałem okna dialogowego do zwracania prawdziwej fałszywej wartości, ale teraz próbuję zrobić to z wyskakującym okienkiem, więc mogę dołączyć obrazy i różne inne informacje.

Mam nadzieję, że wyjaśniłem to wystarczająco dobrze i ktoś może mi pomóc w rozwiązaniu.

Dzięki za poświęcony czas.

Odpowiedz

1

wykorzystanie tego w macierzystej stronie

var answer = window.open(<your page and other arguments>) 
if (answer == 1) 
     do some thing 

w stronę dziecka

window.returnValue = 1; 
+4

Próbowałem tego zgodnie z sugestią, ale to okno nadrzędne nie czeka na odpowiedź z okna podrzędnego. Co, jak przypuszczam, jest także powodem, że w sekcji klauzula if, w której ustawiłem elementy innerHtml w zależności od wartości zwracanej, nic nie robi. – yesiamconfused

+0

Najwyraźniej działa to tylko po otwarciu okna przy użyciu programu showModalDialog. Wygląda również na to, że nie jest szeroko obsługiwany. https://msdn.microsoft.com/en-us/library/ms534371(v=vs.85).aspx – Liazy

4

Można odwołać się okno, które otworzył okienko popup z ... W tym przykładzie, coś w oknie popup wywołuje tę funkcję (która istnieje w oknie podręcznym) przekazując w "val" ...

<script language="javascript"> 
    function GetRowValue(val) 
    { 
     // hardcoded value used to minimize the code. 
     // ControlID can instead be passed as query string to the popup window 
     window.opener.document.getElementById("ctl00_ContentPlaceHolder1_TextBox2").value = val; 
     window.close(); 

    } 

    </script> 
+0

patrz: http://wiki.asp.net/page.aspx/282/passing-value-from -popup-window-to-parent-form39s-textbox/ –

+0

Czy "opener" odnosi się zawsze do okna, które otworzyło bieżące okno, czy jest ustawione przez coś? – mpen

0

Spróbuj wykonać następujące czynności:

window.opener.document.getElementById("sizeId" + rn).value 

Powyżej wielkości id dopasuje identyfikator okna nadrzędnego typu wejściowego, w którym chcesz, aby przywrócić wartości.

Powiązane problemy