• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Popup per Submit

Status
Für weitere Antworten geschlossen.

Mike²

Neues Mitglied
Hallo,

momentan öffne ich die Seite meines Routenplaners als komplett neue Seite.
Dies sollte ich aber nicht als komplette Seite, sondern nur als Popup haben... :-/

Code:
html = html + '<br><br></b>Route berechnen:<form action="routenplaner.html" method="get" target="Routenplaner">' +
'<input style="text-align:center" type="text" size=40 maxlength=40 name="s" id="s" value="Berlin" /><br><br>' +
'<input value="Route berechnen" type="submit">' +
'<input type="hidden" name="z" value="' + point.lat() + ' ' + point.lng() +
'"/>';
Sobald ich aber versuche, es als Popup zu öffnen, funktioniert es nicht mehr...

Code:
html = html + '<br><br></b>Route berechnen:<form action="routenplaner.html" method="get">' +
'<input style="text-align:center" type="text" size=40 maxlength=40 name="s" id="s" value="Berlin" /><br><br>' +
'<input value="Route berechnen" type="submit" onClick="window.open('routenplaner.html','Routenplaner','width=300,height=300,left=200,top=200')">' +
'<input type="hidden" name="z" value="' + point.lat() + ' ' + point.lng() +
'"/>';
Jemand eine Idee, woran das liegen könnte?

Gruß Mike²
 
Wenn Du auf onclick im Submit-Button reagierst, wird ja Dein Formular nicht abgeschickt.
Du suchst vielleicht onsubmit im form-Tag.
 
Ich hoffe ich versteh dich net falsch, aber

Code:
[FONT=verdana][SIZE=2][COLOR=#000000][B]onsubmit=[/B]"[B]window.open([/B][/COLOR][/SIZE][/FONT]...
bringt leider auch nicht den gewünschten Erfolg... :-(
 
Nö, das öffnet ein Popup und lädt dann im aktuellen Fenster die Auswertung des Formulars. Du müsstest wahrschienlich noch im form-Tag das Attribut "target" notieren und darin den Namen des Popups angeben.
Durch onsubmit müsste eigentlich zuerst das popup geöffnet werden und danach das Formular abgeschickt werden. Zu dem Zeitpunkt sollte das Popup schon über seinen Namen ansprechbar sein.
 
Hmmm...

Leider bringt auch das nicht den gewünschten Erfolg.

Code:
html = html + '<br><br></b>Route berechnen:<form action="routenplaner.html" method="get" target="Routenplaner">' +
'<input style="text-align:center" type="text" size=40 maxlength=40 name="s" id="s" value="Berlin" /><br><br>' +
'<input value="Route berechnen" type="submit" onsubmit="window.open('routenplaner.html','Routenplaner','width=300,height=300,left=200,top=200')">' +
'<input type="hidden" name="z" value="' + point.lat() + ' ' + point.lng() +
'"/>';
 
das sollte vielleicht klappen, sagt deie js fehlerkonsole irgend was, deine sysntax habe ich jetzt nicht überprüft
Code:
<input value="Route berechnen" type="submit" onclick="window.open('routenplaner.html','Routenplaner','width=300,height=300,left=200,top=200')">' +
 
Vielen Dank,

aber leider klappt das mit dem onClick nicht.
Das hatte ich ja als erstes (erster Beitrag) bereits versucht.

Fehler werden mir keine angezeigt.
Ich erhalte nur ne leere weiße Seite...

Gruß Mike

EDIT:
In der Firefox Konsole finde ich das hier...

Code:
Fehler: missing ; before statement
Quelldatei: file:///C:/index.html
Zeile: 59, Spalte: 17
Quelltext:
'<input value="Route berechnen" type="submit" onclick="window.open('routenplaner.html','Routenplaner','width=300,height=300,left=200,top=200')">' +
EDIT2:

Habs mir grad nochmal genau angeschaut.
Der Fehler lag nur daran, das ich die Zeile 59 auskommentiert hatte.
Jetzt ist die Konsole leer aber keine Veränderung...
 
Zuletzt bearbeitet:
Also demnächst muß ich noch
32.gif


:-)

Hab jetzt alles ins form-Tag gebracht aber...


Code:
html = html + '<br><br></b>Route berechnen:<form action="" method="get" onSubmit="window.open('routenplaner.html', 'Routenplaner', 'width=400,height=400,left=75,top=0,scrollbars=yes,hotkeys= no,menubar=no,locationbar=no,resizeable=no,status=no')">' +
'<input style="text-align:center" type="text" size=40 maxlength=40 name="s" id="s" value="Berlin" /><br><br>' +
'<input value="Route berechnen" type="submit">' +
'<input type="hidden" name="z" value="' + point.lat() + ' ' + point.lng() +
'"/>';
Mir wird auch mit dem Versuch immer nur ne weiße Seite angezeigt...
Langsam ist mir das echt peinlich...
Wenn ich schon an so ner Kleinigkeit scheitere... :cry:

Das kann doch net so schwer sein...
 
Naja, wenn das, was Du hier als Codeausschnitt postest, alles ist, dann kommt da natürlich nichts, denn hier schreibst Du ja nur einen HTML-Code in die Variable "html". Ausgegeben wird da natürlich nichts.

Aber
32.gif
musst Du deswegen nicht, lass einfach das beknackte Popup weg, das will ja sowieso niemand haben. Mit nem Popupblocker gehts es u.U. nichtmal auf.
 
Ich find halt persönlich, das ein Popup ohne Menüleiste usw ansprechender als Routenplaner ist, als ein komplett neu geöffnetes Fenster...

Hier mal die komplette Karte:
Code:
<html>
 <head>
 <title>Übersichtskarte</title>

 <link rel="stylesheet" type"text/css" href="funktionen/style.css">

 <script src="http://maps.google.com/maps?file=api&v=2&key=XXX" type="text/javascript"></script>
 <script src="http://www.google.com/uds/api?file=uds.js&amp;v=1.0" type="text/javascript"></script>
 </head>

 <body onunload="GUnload()">

 <div id="map" style="width: 1000px; height: 750px"></div>

<script type="text/javascript">
//<![CDATA[
if (GBrowserIsCompatible()) {

      var ortsnetzstationIcon = new GIcon();
      taxiIcon.image = "grafiken/taxi.png";
      taxiIcon.shadow = "grafiken/shadow-taxi.png";
      taxiIcon.iconSize = new GSize(25.0, 25.0);
      taxiIcon.shadowSize = new GSize(38.0, 25.0);
      taxiIcon.iconAnchor = new GPoint(12.0, 12.0);
      taxiIcon.infoWindowAnchor = new GPoint(12.0, 12.0);

      var umspannwerkIcon = new GIcon();
      busIcon.image = "grafiken/bus.png";
      busIcon.shadow = "grafiken/shadow-bus.png";
      busIcon.iconSize = new GSize(25.0, 25.0);
      busIcon.shadowSize = new GSize(38.0, 25.0);
      busIcon.iconAnchor = new GPoint(12.0, 12.0);
      busIcon.infoWindowAnchor = new GPoint(12.0, 12.0);

      var icons = [];
      icons[0] = taxiIcon;
      icons[1] = busIcon;

      function createMarker(point,html,icontype) {
               var marker = new GMarker(point,icons[icontype]);

               // Routenplaner -START-
               html = html + '<br><br></b>Route berechnen:<form action="routenplaner.html" method="get" target="Routenplaner">' +
               '<input style="text-align:center" type="text" size=40 maxlength=40 name="s" id="s" value="Berlin" /><br><br>' +
               '<input value="Route berechnen" type="submit">' +
               '<input type="hidden" name="z" value="' + point.lat() + ' ' + point.lng() +
               '"/>';
               // Routenplaner -ENDE-

               GEvent.addListener(marker, "click", function() {
                        marker.openInfoWindowHtml(html);
               });
               return marker;
      }

      var map = new GMap2(document.getElementById("map"));

      map.setCenter(new GLatLng(52.523167, 13.411989), 16, G_NORMAL_MAP);

      map.addControl(new GLargeMapControl());
      map.addControl(new GMapTypeControl());

      var request = GXmlHttp.create();
      request.open("GET", "daten/daten.xml", true);
      request.onreadystatechange = function() {
              if (request.readyState == 4) {
                 var xmlDoc = GXml.parse(request.responseText);
                 var markers = xmlDoc.documentElement.getElementsByTagName("marker");
                 for (var i = 0; i < markers.length; i++) {
                     var lat = parseFloat(markers[i].getAttribute("lat"));
                     var lng = parseFloat(markers[i].getAttribute("lng"));
                     var point = new GLatLng(lat,lng);
                     var html = markers[i].getAttribute("html");
                     var icontype = parseInt(markers[i].getAttribute("icontype"));
                     var marker = createMarker(point,html,icontype);
                     map.addOverlay(marker);
                 }
              }
      }

      request.send(null);
}
 else {
 alert("Sorry, the Google Maps API is not compatible with this browser");
 }

 //]]>
 </script>
 </body>
</html>
Die Marker werden aus der daten.xml ausgelesen, die folgendermaßen aufgebaut ist:

Code:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<markers>
<marker lat="52.5257" lng="13.411689" html="&lt;center&gt;&lt;b&gt;A1673&lt;br&gt;Hirtenstrasse (Mitte)" icontype="0"/>
</markers>
Die Variable html wird ja auch aus der Datei erstellt.
An diese wird lediglich der Routenplaner angehängt...
 
Ich find halt persönlich, das ein Popup ohne Menüleiste usw ansprechender als Routenplaner ist, als ein komplett neu geöffnetes Fenster.
Und ich versteh nicht, warum man überhaupt den Nutzer dazu zwingen muss, neue Fenster aufzumachen, er kann das doch selber entscheiden. Und Popups ohne Menüleiste verwirren eher, als dass sie helfen, weil man in ihnen auf einmal nichtmehr wie gewohnt navigieren kann.
 
Also Efchen... :-)

Der User wird ja nur indirekt zu nem Popup gezwungen.
Möchte er für den entsprechenden Marker eine Anfahrtsbeschreibung, dann wird ihm auf jeden Fall ne neue Seite geöffnet.
Entweder direkt bei Google oder wie in meinem Fall die Routenplaner.html.

Ich hatte mir nur gedacht, das es ja nicht unbedingt eine komplette neue Seite sein muß, sondern eher nur ein "beschnittenes" Fenster.
Wenn ich das dann am linken Seitenrand mit ca 1/3 Größe öffne, sehe ich das nicht unbedingt als lästig an.
Eher wäre eine neue Seite, die ja dann die komplette Karte verdeckt, lästig.
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben