Eine Auswahl übergeben

  • Themenstarter Themenstarter Sealtuagn
  • Beginndatum Beginndatum
S

Sealtuagn

Kann mir jemand Helfen? - Ich stehe grade irgendwie aufm Schlach...

Ich wollte ein Popup öffnen lassen, und dann die Daten in ein anderes fenster übergeben lassen.

Das Solls nachher bewirken:
Ich lasse ein Fenster per Popup aufrufen und dann soll folgendes Passieren:
Im Popup-Formular:
Formularname: Userlist_PopUp
- "kn_popup_name" soll in das div mit der ID: "kn_receiver_name" im Formular mit dem Namen: "kn_write"
-
"kn_popup_loginname" soll in das Feld mit dem Namen: "kn_receiver_loginname" im Formular mit dem Namen: "kn_write"
- "kn_popup_streat" soll in das div mit der ID: "kn_receiver_streat" im Formular mit dem Namen: "kn_write"
- "kn_popup_ID" ist der SELECT, wo die ID des entsprechenden Feldes drinne steht.

Stimmt der Code dann so? - Oder kannst du den dann mal so machen, dass er das macht?

Code:
function TransmitUserID() 
 { 
  
         var ID = document.kn_write.kn_popup_ID.value; 
        /*       // Oder Ist die Reihenfolge so Richtig? 
         
             document.opener.getElementById("kn_receiver_name").childNodes[0].nodeValue   = window.document.Userlist_PopUp.kn_popup_name[ID].value; 
             window.opener.document.kn_write.kn_receiver_loginname.value                  = window.document.Userlist_PopUp.kn_popup_loginname[ID].value; 
             document.opener.getElementById("kn_receiver_streat").childNodes[0].nodeValue = window.document.Userlist_PopUp.kn_popup_streat[ID].value; 
        */ 
         
             window.document.Userlist_PopUp.kn_popup_name[ID].value       = document.opener.getElementById("kn_receiver_name").childNodes[0].nodeValue; 
             window.document.Userlist_PopUp.kn_popup_loginname[ID].value                  = window.opener.document.kn_write.kn_receiver_loginname.value; 
             window.document.Userlist_PopUp.kn_popup_streat[ID].value = document.opener.getElementById("kn_receiver_streat").childNodes[0].nodeValue; 
              
 self.close(); 
 }
Stimmt der Code dann so? - Oder kann mir den jemand richtig Biegen? - Ich kann das nicht. Ich finde dn Fehler irgendwie nicht... Hab schon alles mlgliche Probiert, aber das ding will einfach nicht so wie ich es will!
 
Da sind auf jeden Fall massive Fehler drin:


  • Du benutzt abwechselnd window.opener und documend.opener. Ein opener ohne was davor reicht völlig.
  • Vor jedes geElementById muss ein document. .

  • Man spricht Formularfelder korrekterweise mit document.forms['FORMULARNAME'].elements['ELEMENTNAME'] an bzw. noch ein opener. davor, wenn sie im Öffnerfenster sind.
  • Was bitte soll das sein: ...Userlist_PopUp.kn_popup_streat[ID]... ?
Mehr kann ich dazu nicht sagen, wenn du mir nicht den HTML-Code für beide Seiten plus den JS-Code zur Verfügung stellst (bitte NICHT direkt in deinen Beitrag schreiben sondern entweder einen Link auf die entsprechende Seite posten oder als Datei anhängen).

Zur Fehlersuche empfielt es sich im Übrigen die Javascript-Konsole des Browsers seines Vertrauens zu benutzen und auf die Fehlermeldungen zu achten!
 
Zuletzt bearbeitet:
Huhu,

Danke erstmal...

Ich habe meinen Quellcode mal überarbeitet, aber es funktioniert trotzdem nicht...
Ich füge jetzt einfach mal die User-List und die Message.php hier als Anhang hinzu..
Die 2 Funktionen, die ich benutze sind diese hier:

Code:
function ShowMemberList()
{
        cWnd1 = window.open("userlist.php?status=popup", "UserSucheWindow", "width=430,height=500,resizable=no,scrollbars=yes,statusbar=yes");
}

function TransmitUserID()
{
        var ID = document.forms['kn_write'].elements['kn_popup_ID'].value
 window.document.forms['Userlist_PopUp'].elements['kn_popup_name'+ID].value = opener.document.getElementById("kn_receiver_name").childNodes[0].nodeValue;
 window.document.forms['Userlist_PopUp'].elements['kn_popup_loginname'+ID].value = document.forms['kn_write'].elements['kn_receiver_loginname'].value
 window.document.forms['Userlist_PopUp'].elements['kn_popup_streat'+ID].value = opener.document.getElementById("kn_receiver_streat").childNodes[0].nodeValue;
            
self.close();
}
 
Zuletzt bearbeitet von einem Moderator:
Also der Code hilft nicht wirklich weiter. Erstmal solltest du keinen PHP-Code ins JS-Forum posten (siehe dazu den Link).
Ersten kann nicht jeder JSler PHP und zweitens haben manche die es können (wie ich), keine Lust deinen PHP-Code aufzudröseln.

Das nurmal vorweg. Daher würd ich dich bitten einfach den Code von dem Fenster mit dem Formular und von dem PopUp-Fenster zu posten, so wie er in deinem Borwser steht oder besser noch den Link dazu und wie ich schon erwähnt habe die Fehlermeldungen, die in der Javascript-Konsole stehen.

Ich kann leider nicht erraten, wie deine Seite aufgebaut ist und dein Beitrag sagt mir irgentwie nicht wirklich was. Wenn du ihn nochmal durchliest und mal so tust, als hättest du keine Ahnung, hättest du sicher auch Probleme dich zu verstehen.

Du hast also eine Seite mit einem Formular und dann öffnet sich ein PopUp. In einzelen <div>s innerhalb dieses PopUps soll dann der Inhalt der Formularfelder stehen. Hab ich das so richtig verstanden oder ist es genau umgekehrt: Das Formular steht im PopUp und im Mutterfenster soll dann sein Inhalt stehen? Wo ist deine Auswahlliste und wo soll der Wert der Auswahlliste hin?
Eigentlich wollte ich nur deswegen deinen Code haben, weil aus deinem Beitrag nicht schlau geworden bin und nicht wusste, was wo steht und was dann wohin soll.

Vielleicht bin ich auch schwer von Begriff.
 
Zuletzt bearbeitet:
Ich glaube langsam blick ich da durch. Du schreibst ein Message-System. Du hast eine Datei mit einer <textarea>, wo der Benutzer seine Nachricht schreibt. Von dieser Datei aus willst du, dass der User ein PopUp öffnet. In diesem PopUp ist dann eine Liste mit Benuztern. Diese Liste enthält dann die möglichen Empfänger der Nachricht, wo der Benutzer einen Auswählen kann. Sobald er einen ausgewählt hat schließt sich das PopUp und im Elternfenster soll dann der vorher im PopUp ausgewälte Benutzer als Empfänger der Nachricht in ein verstecktes input-Feld eingetragen werden. Richtig?

Also stark vereinfacht sowas, wie ich hier angefügt habe als Datei.
 

Anhänge

Zuletzt bearbeitet:
Ahh, jetz weiß ich was du mit Quellcode meintest... danke!
Mir wird keine Fehler ausgegeben... garnichts. Er überträgt einfach nicht die Daten und schließt das Popup auch nicht.
Ich versuche es mal so zu beschreiben:

Ich lasse über einen Link auf der Seite A (Formularname: kn_write) ein Popup B (Formularname: Userlist_PopUp) aufrufen.

Jetzt hab ich im Popup B folgende Felder:
- kn_popup_ID (Radio)
- kn_popup_name (Feld)
- kn_popup_loginname (Feld)
- kn_popup_streat (Feld)

Und auf der Seite A:
- kn_receiver_name (div)
- kn_receiver_loginname (Feld)
- kn_receiver_streat (div)

Jetzt will ich die Felder aus Popup B einfach in die Felder und Div’s in Seite A übergeben lassen.

Und hier nun die Quellcodes aus meinem Opera-Quellcode... Als anhang

Ich kann leider keine Links Bieten, da das ganze in einem Passwortgeschütztem B3ereich passiert. Die Javascript-Datei wird im Quelltext om Header Includet!

EDIT:
JA genau!
So will ich das machen! Aber der Übernimmt die sachen nicht!
/ EDIT
 
Zuletzt bearbeitet von einem Moderator:
Hehe, gern geschen. Dein Fehler war zum einen, dass du's falsch angesprochen hast und zum anderen, das du's falschrun zugewiesen hast. Wenn du was im opener-Fenster ändern willst musst du dem auch das andere zu weisen. also opener.bla.value=blubb und nicht blubb=opener.bla.value, wie du's gemacht hast.

Viel Spaß noch damit.
 

Neue Beiträge

Zurück