Προς το περιεχόμενο

Πέρασμα τιμών από child window σε parent window μέσω JS


daidalus

Προτεινόμενες αναρτήσεις

Δημοσ.

Γεια χαρά!

Έχω ένα popup window που περιέχει μια λίστα με τιμές (σε <select>) και θέλω αφού ο χρηστης επιλέξει τις τιμές που θέλει (μπορεί να επιλέξει περισσότερες από μια) και πατήσει OK, το popup να κλείνει και οι τιμές να επιστρέφονται πίσω στην σελίδα από την οποία άνοιξε το popup.

ΔΕΝ θέλω να χρησιμοποιήσω το query string για το πέρασμα των τιμών γιατί οι τιμές μπορεί να είναι πολλές όπως επίσης ΔΕΝ θέλω να χρησιμοποιήσω session variables για τον ίδιο λόγο.Θέλω απλή JavaScript που να περνάει τα επιλεγμένα στοιχεία του <select> σε ένα άλλο control στην αρχική σελίδα.

Πρέπει να είναι κάτι σαν το παρακάτω αλλά κάτι κάνω λάθος και δεν μου επιστρέφονται τιμές.Εδώ δοκίμάζω να διαβάσω όλες τις τιμές αλλά τελικά δεν επιστρέφεται τιποτα :? :

><script>
function PassValuesAndClose()
{
	window.opener.document.Form1.select1.value = select.value;
	window.close();
}
</script>
//οπου Form1 ειναι η αρχική σελίδα και select1 ενα html listbox στην αρχική σελίδα
SELECT id="select" runat="server">
   <OPTION>
   ....
    </OPTION>
</SELECT>
<INPUT type="button" value="OK" onclick="PassValuesAndClose();">

Η αρχική σελίδα ειναι σε ASP.NET αν και αυτό δεν νομίζω να παίζει ρόλο αφού χρησιμοποιώ HTML controls.

Ευχαριστώ πολύ.

Δημοσ.

Χρειάζεσαι ένα for βρόχο για να το κάνεις αυτό. Κάτι σαν

 

>
var data;
for (var i=0;i<document.form2.select.options.length;i++)
{
   if (document.form2.select.options[i].selected)
   {
      data += document.form2.select.options[i].value + '&';
   }
}

window.opener.document.Form1.select1.value = data;

 

όπου form2 είναι το όνομα της φόρμας στην τρέχουσα σελίδα.

 

Θα πρέπει μετά να βρεις έναν τρόπο για να σπάσεις τις τιμές βασιζόμενος στο χαρακτήρα "&" όταν τις στείλεις στο server.

Δημοσ.

Οκ σε ευχαριστώ για τη βοήθεια σου.Τώρα δουλεύει μια χαρά αλλά βρήκα και άλλο ενα πρόβλημα.Για κάποιο λόγο δεν μπορώ να καλέσω JS functions απο τον κωδικα μου!Δηλαδή εαν γράψω

><INPUT id="bttnCancel" type="button" value="Cancel" onclick="CloseWindow()">

....

function CloseWindow()
{
window.close();
}

δεν δουλεύει.Αν όμως γράψω

><INPUT id="bttnCancel" type="button" value="Cancel" onclick="javascript:window.close();">

δουλεύει μια χαρά.

Καμμιά ιδέα?

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...