pop up και επιστροφή μεταβλητών στην κύρια φόρμα

Κώδικας, πληροφορίες, ερωτήσεις και απαντήσεις σχετικές με την JavaScript.

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Άβαταρ μέλους
iffor
Δημοσιεύσεις: 778
Εγγραφή: 14 Μάιος 2005 01:19
Τοποθεσία: Παράδεισος
Επικοινωνία:

pop up και επιστροφή μεταβλητών στην κύρια φόρμα

Δημοσίευση από iffor » 18 Οκτ 2005 18:02

hello...!!!
Μια ερωτησούλα να σας κάνω μιας και μου έφαγε όλο το απόγευμα...
Έχω μία σελίδα στην οποία έχω μία κενή φόρμα που αναφέρεται στα χαρακτηριστικά ενός ατόμου.
Έχω και ένα κουμπί search το οποίο κάνει το εξής.
Ανοίγει ένα pop up παράθυρο το οποίο εμφανίζει μία λίστα των διαθέσιμων προσώπων.
Προσπαθώ με κλικ στο ανάλογο πρόσωπο, να εμφανιστούν στη φόρμα της κύριας σελίδας τα χαρακτηριστικά του προσώπου που κλικάραμε.
Γνωρίζει κανείς κάτι επί του θέματος?
Κάποιο link με παραδείγματα του είδιου τύπου?
Χίλια ευχαριστώ!!!

Παρακάτω δίνω τον κώδικα που προσπαθώ να κάνω να δουλέψει, αλλά μάταια...

Στην Κύρια σελίδα στο <head>

Κώδικας: Επιλογή όλων

<SCRIPT LANGUAGE="JavaScript"><!--
myPopup = '';

function openPopup&#40;url&#41; &#123;
    myPopup = window.open&#40;url,'popupWindow','resizable=1,width=640,height=480'&#41;;
    if &#40;!myPopup.opener&#41;
         myPopup.opener = self; 
&#125;
//--></SCRIPT>

έχοντας και μία φόρμα με name="main"

Στο popup

Κώδικας: Επιλογή όλων

<SCRIPT LANGUAGE="JavaScript"><!--

function sendtomain&#40;object,object2&#41; &#123;

    var name = object.name;
    var name2 = object2.name;
    opener.document.main.mytext.value = document.popupForm.name.value;
    opener.document.main.mytext2.value = document.popupForm.name2.value;
    window.close&#40;&#41;;
    return false;
    
	
&#125;
//--></SCRIPT>
έχοντας και μία φόρμα με name=popupForm και στην οποία έχω την λίστα με τα πρόσωπα πχ

Κώδικας: Επιλογή όλων

<FORM NAME="popupForm">
Α ΝΑΜΕ
<INPUT TYPE="hidden" name="name" value="name">
<INPUT TYPE="hidden" name="name2" value="name2">
<INPUT TYPE="BUTTON" VALUE="Submit" onClick="sendtomain&#40;this.form.name,this.form.name2&#41;">
</FORM>
όπως βλέπετε, χρησιμοποιώ μία φόρμα μέσα στην οποία εχω την λίστα των προσώπων.
Δημιουργόντας όμως την παραπάνω λίστα δυναμικά, έχω τα πρόλημα στο πώς θα διαβάζει η function sendtomain τα πεδία της φόρμας σωστά ώστε να τα αντιστοιχίσει και σωστά στην κύρια φόρμα...
Κάποια βοήθεια pls??? :D
μια νέα αρχή ξεκίνησε...
ένας καινούριος δρόμος άνοιξε...
redpanda.gr

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

pop up και επιστροφή μεταβλητών στην κύρια φόρμα

Δημοσίευση από skeftomilos » 19 Οκτ 2005 09:00

Δε βλέπω καμία λίστα, μόνο δύο hidden fields! :) Τα δεδομένα για τα πρόσωπα από που έρχονται; Θα περιέχονται μέσα στον HTML κώδικα ή σε κάποια αντικείμενα JavaScript; Πάντως ο κώδικας που δίνεις μοιάζει εντάξει. Μόνο που για να γίνει σαφέστερος καλό είναι αντί για...

Κώδικας: Επιλογή όλων

opener.document.main.mytext.value = document.popupForm.name.value;
...να είναι...

Κώδικας: Επιλογή όλων

opener.document.forms&#91;'main'&#93;.mytext.value = document.forms&#91;'popupForm'&#93;.name.value;
...ή ακόμα (αλλά κάπως υπερβολικά)...

Κώδικας: Επιλογή όλων

opener.document.forms&#91;'main'&#93;.elements&#91;'mytext'&#93;.value = document.forms&#91;'popupForm'&#93;.elements&#91;'name'&#93;.value;
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

Άβαταρ μέλους
iffor
Δημοσιεύσεις: 778
Εγγραφή: 14 Μάιος 2005 01:19
Τοποθεσία: Παράδεισος
Επικοινωνία:

pop up και επιστροφή μεταβλητών στην κύρια φόρμα

Δημοσίευση από iffor » 19 Οκτ 2005 10:31

hello!
:D Yep, δεν έδωσα κάλα το παράδειγμα! :D
Ως λίστα εννοούσα μια λίστα όπου θα είχε ώς γραμμή ότι εμφανίζεται στο τελευταίο κώδικα που έδωσα, και αυτό θα επαναλαμβάνεται για κάθε γραμμή της λίστας.
Μέχρι στιγμής έχω το εξής
Στην σελίδα main απ την οποία καλείται το popup

Κώδικας: Επιλογή όλων

<html>
<head>
<title>Test popup</title>
<SCRIPT LANGUAGE="JavaScript"><!--
myPopup = '';

function openPopup&#40;url&#41; &#123;
    myPopup = window.open&#40;url,'popupWindow','resizable=1,width=640,height=480'&#41;;
    if &#40;!myPopup.opener&#41;
         myPopup.opener = self;
&#125;
//-->
</SCRIPT>
</head>
<body>
<form name="main">
<input type="text" name="surname">
<input type="text" name="name">
<input type="text" name="phone">
<br>
<input type="button" value="search" onClick="openPopup&#40;'search.php'&#41;">
</form>
</body>
</html>
και στο popup παράθυρο search.php όπου έχω

Κώδικας: Επιλογή όλων

<html>
<head>
<title>popup</title>
<SCRIPT LANGUAGE="JavaScript"><!--

function sendtomain&#40;thesi&#41; &#123;

    opener.document.main.surname.value = document.lista&#91;thesi&#93;.surname.value;
    opener.document.main.name.value = document.lista&#91;thesi&#93;.name.value;
    opener.document.main.phone.value = document.lista&#91;thesi&#93;.phone.value;
    window.close&#40;&#41;;
    return false;
   
   
&#125;
//-->
</SCRIPT>
</head>
<body>
<table>
<?php
 $count=0;
 $query="bla bla";
 $resulr=mysql_query&#40;$query, $conn&#41; or die&#40;mysql_error&#40;&#41;&#41;;
 while &#40;$row=mysql_fetch_array&#40;$result&#41;&#41; &#123;
   $surname=$row&#91;'surname'&#93;;
   $name=$row&#91;'name'&#93;;
   $phone=$row&#91;'phone'&#93;;

  echo "<form name='lista'>
           <tr>
           <td onClick=\"sendtomain&#40;$count&#41;\" onmouseover = \"this.style.cursor='pointer'\">
           $surname $name $phone 
           </td>
           </tr>
           </form>";
  $count++;
           
 &#125;


?>
</table>
</body>
</html>
Κάτι τέτοιο εννοώ! ελπίζω να έγινα λιγάκι ποιο σαφής τωρα :wink:
Τελευταία επεξεργασία από το μέλος iffor την 19 Οκτ 2005 13:33, έχει επεξεργασθεί 1 φορά συνολικά.
μια νέα αρχή ξεκίνησε...
ένας καινούριος δρόμος άνοιξε...
redpanda.gr

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

pop up και επιστροφή μεταβλητών στην κύρια φόρμα

Δημοσίευση από skeftomilos » 19 Οκτ 2005 11:23

Yeap, πιο κατανοητό! Τα δεδομένα λοιπόν εμπεριέχονται στον HTML κώδικα. Γράφονται με PHP αλλά αυτό δεν έχει καμιά σημασία για τη JavaScript. Αυτό που έχει σημασία είναι να υπάρχει τρόπος να τα βρει και να τα διαβάσει. Αυτή τη στιγμή είναι όλα χύμα μέσα σε ένα table cell, χωρισμένα με ένα κενό. Καλύτερα να μπουν στο δικό του element το καθένα, td ή span ότι νά ναι, αρκεί να έχει το δικό του id ώστε να μπορεί να βρεθεί με document.getElementById. Η πιο απλή λύση είναι να δωθούν IDs με αύξουσα σειρά αρίθμησης (name1, name2, name3, ... και phone1, phone2, phone3, ...) οπότε όταν γίνει κλικ στο cell να μπορούν να προκύψουν εύκολα τα IDs της επιλεγμένης εγγραφής:

Κώδικας: Επιλογή όλων

opener.document.forms&#91;'main'&#93;.name.value = document.getElementById&#40;'name' + thesi&#41;.innerHTML
opener.document.forms&#91;'main'&#93;.phone.value = document.getElementById&#40;'phone' + thesi&#41;.innerHTML
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

Άβαταρ μέλους
iffor
Δημοσιεύσεις: 778
Εγγραφή: 14 Μάιος 2005 01:19
Τοποθεσία: Παράδεισος
Επικοινωνία:

pop up και επιστροφή μεταβλητών στην κύρια φόρμα

Δημοσίευση από iffor » 19 Οκτ 2005 13:38

Ωραίος...!!!!
Δεν το είχα σκεφτεί έτσι!!!! (αρχάριος ακόμη σε js :wink: )
Στο παράδειγμά μου σην σελίδα του popup έδωσα όπως είπες τις μεταβλητές χύμα σε ένα td!!! :D
Sorry, ενα παράδειγμα ήταν μόνο :oops:
Φυσικά και θα υπάρχει διαμόρφωση!!!
Απλός θα ήθελα να πώ ότι έτσι θα εμφανίζω τα στοιχεία που χρειάζομαι μόνο στο popup και ίσως με hidden πεδία να προσθέσω και άλλα στοιχεία που θα περνάνε μετά στην main σελίδα!!!
Χίλια ευχαριστώ για την βοήθεια φίλε μου!
μια νέα αρχή ξεκίνησε...
ένας καινούριος δρόμος άνοιξε...
redpanda.gr

Άβαταρ μέλους
_Invisible_
Δημοσιεύσεις: 418
Εγγραφή: 16 Νοέμ 2006 16:47
Τοποθεσία: Greece

pop up και επιστροφή μεταβλητών στην κύρια φόρμα

Δημοσίευση από _Invisible_ » 13 Ιαν 2007 20:04

Εγώ δεν κατάλαβα κάτι...

Ας πούμε ότι προσπάθησα να κάνω και εγώ αυτό που έκανε ο φίλος μας iffor.

index.php:

Κώδικας: Επιλογή όλων

<html>
<head>
<title>Test popup</title>
<script language="javascript">

myPopup = '';

function openPopup&#40;url&#41; &#123;
    myPopup = window.open&#40;url,'popupWindow','resizable=1,width=640,height=480'&#41;;
    if &#40;!myPopup.opener&#41;
         myPopup.opener = self;
&#125;

</script>
</head>
<body>
<form name="main">
Name&#58; <input type="text" name="name">
<br />
<input type="button" value="search" onClick="openPopup&#40;'search.php'&#41;">
</form>
</body>
</html> 
search.php:

Κώδικας: Επιλογή όλων

<html>
<head>
<title>popup</title>
<script language="JavaScript">

function sendtomain&#40;thesi&#41; &#123;

	opener.document.forms&#91;'main'&#93;.name.value = document.getElementById&#40;'name' + thesi&#41;.innerHTML 
	window.close&#40;&#41;;
	return false;
  
&#125;
</script>
</head>
<body>
<table>
<?php

	$count = 0;
	$names = array&#40;'john ', 'mary ', 'nick '&#41;;

	echo '<form name="lista">
	<tr>
	<td id="name" onClick="sendtomain&#40;' . count&#40;$names&#41; . '&#41;" onmouseover = "this.style.cursor=\'pointer\'">';

	foreach &#40;$names as $name&#41;
	&#123;
	   echo $name;
	   $count++;
	&#125;
	
	echo '</td>
           </tr>
           </form>';

?>
</table>
</body>
</html>
αλλά δεν μου δουλεύει. Έχω κάνει κάτι λάθος (μάλλον αυτό που είπατε με τα tables και τα td, το οποίο δεν το κατάλαβα :S ).

Παρακαλώ δώστε μου αν είναι εύκολο ένα παράδειγμα που να δουλεύει γιατί έτσι όπως το έκανα εγώ δεν δούλευε... αλλά ούτε έτσι όπως έκανα copy/paste τον κώδικά σας guys δεν δούλευε γιατί μάλλον έπρεπε να αλλάξω κάποια πράγματα που δεν κατάλαβα...

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

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

pop up και επιστροφή μεταβλητών στην κύρια φόρμα

Δημοσίευση από skeftomilos » 13 Ιαν 2007 20:52

Να ένα απλό παράδειγμα: Popup Demo

Εμφανίζονται διαδοχικά οι παρακάτω σελίδες:

- main.htm
- popup.htm
- process.htm
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

Άβαταρ μέλους
_Invisible_
Δημοσιεύσεις: 418
Εγγραφή: 16 Νοέμ 2006 16:47
Τοποθεσία: Greece

pop up και επιστροφή μεταβλητών στην κύρια φόρμα

Δημοσίευση από _Invisible_ » 14 Ιαν 2007 00:42

πολύ ωραίος skeftomilos ευχαριστώ

Απάντηση

Επιστροφή στο “JavaScript και Frameworks”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες