popup durch form klicken öffnen
Matthias Nagel
- php
Hab ein Problem mein Popup-Script durch ein Formular zu starten:
Mein Popup skript:
/////////////
<script language=JavaScript type=text/JavaScript>
function openWindow(pUrl,windowName,width,height,scroll)
{
x = (640 - width)/2, y = (480 - height)/2;
if (screen)
{
y = (screen.availHeight - height)/2;
x = (screen.availWidth - width)/2;
}
if (screen.availWidth > 1800)
{
x = ((screen.availWidth/2) - width)/2;
}
if (scroll==null)
{
scroll='scrollbars=no';
}
else
{
scroll='scrollbars=yes';
}
window.open(pUrl,windowName,'width='+width+',height='+height+',screenX='+x+',screenY='+y+',top='+y+',left='+x+','+scroll);
}
</script> ";
und mein Aufruf:
<form name=pdfbasket onreset="return ResetCheck(''.$language.'')" aktion="return openWindow("'.$env_link.'/live/rs/rsprintbasket/rsprintbasketform/makepdf.php","","740","520","no")">
Danke für die Hilfe
Matthias
Moin
Hab ein Problem mein Popup-Script durch ein Formular zu starten:
welches Problem genau?
<form ... aktion=...>
ein aktion-Attribut existiert nicht, wohl aber action.
Gruß
rfb
Moin
Hab ein Problem mein Popup-Script durch ein Formular zu starten:
welches Problem genau?<form ... aktion=...>
ein aktion-Attribut existiert nicht, wohl aber action.Gruß
rfb
Autsch loooooool ich Kacknoob danke !!!
Moin
Hab ein Problem mein Popup-Script durch ein Formular zu starten:
welches Problem genau?<form ... aktion=...>
ein aktion-Attribut existiert nicht, wohl aber action.Gruß
rfbAutsch loooooool ich Kacknoob danke !!!
Jetzt hab ich das Problem, das meine Variablen aus dem Form nicht übergeben werden, da mein Formular gar nicht abgeschickt wird.
echo '<form name=pdfbasket onreset="return ResetCheck(''.$language.'')" onSubmit="'.$_SERVER['PHP_SELF'].'" action="';
echo "javascript:openWindow('".$env_link."/live/rs/rsprintbasket/rsprintbasketform/makepdf.php','','740','520','no')";
wie krieg ich das hin, das ich im Browserfenster dann die Variablen aus dem Formular hab.
Grüsse
Matthias
Moin
entwirre doch erst einmal diesen Code!
Tipp: übergeben wird nur etwas, wenn du bei action ein Ziel angibst. Du nutzt action aber um ein PopUp-Fenster zu öffnen.
Wenn es denn sein muss dann öffne das PopUp über onsubmit und mach mit action etwas sinnvolleres!
Gruß
rfb
Moin
entwirre doch erst einmal diesen Code!
Tipp: übergeben wird nur etwas, wenn du bei action ein Ziel angibst. Du nutzt action aber um ein PopUp-Fenster zu öffnen.
Wenn es denn sein muss dann öffne das PopUp über onsubmit und mach mit action etwas sinnvolleres!Gruß
rfb
Aber ich möchte doch nur dass meine Formulardaten dann in dem Browserfenster zu haben sind, mehr möcht ich doch gar nicht. Ich will halt nicht im derzeitigen Fenster bleiben sondern der User soll submit klicken und dann kann ich in einem Broswerfenster mit einem PHP Skript die Formulardaten bearbeiten.
Grüsse
Matthias
hi,
Tipp: übergeben wird nur etwas, wenn du bei action ein Ziel angibst. Du nutzt action aber um ein PopUp-Fenster zu öffnen.
Wenn es denn sein muss dann öffne das PopUp über onsubmit und mach mit action etwas sinnvolleres!Aber ich möchte doch nur [...]
Ja, du wurdest verstanden.
Und du hast einen Tipp bekommen.
Wenn du diesen Tipp nicht verstanden hast - dann erkläre uns, was du daran nicht verstanden hast.
Dass du uns wiederholt erklärst, was du vorhast, ist unnötig, und bringt uns auch nicht weiter.
gruß,
wahsaga
Ich verstehe nicht warum ein:
<form name=pdfbasket method="post" action="live/rs/rsprintbasket/rsprintbasketform/makepdf.php" onSubmit="window.open('live/rs/rsprintbasket/rsprintbasketform/makepdf.php','MyConsole','width=640','height=480','menubar=no','scrollbars=no','status=no')"; target="MyConsole">
nicht funktioniert
hi,
Ich verstehe nicht warum ein: [...] nicht funktioniert
"Funktioniert nicht" ist keine brauchbare Problembeschreibung.
Davon abgesehen ist es aber vielleicht keine gute Idee, die Ressource zwei mal anzufordern - erst mal ohne, und dann noch mal mit POST-Daten.
gruß,
wahsaga
ein action="window.open ...." alleine öffnet mir das Fenster mit dem PHP Skript, allerdings ohne die Post-Variablen. Ein onSubmit liefert das selbe Ergebnis. Ich kann den Bezug zwischen den zu versendenen Post-Variablen und dem aktiven Window in meinem Popup nicht herstellen.
So besser ;-)
Gruss
Matthias
hi,
ein action="window.open ...." alleine öffnet mir das Fenster mit dem PHP Skript, allerdings ohne die Post-Variablen.
Eben, deshalb wollen wir _das_ nicht machen.
Ein onSubmit liefert das selbe Ergebnis.
Öffne onsubmit dein Popup - aber _ohne_ darin bereits die Zielseite aufzurufen. "about:blank" oder ggf. auch einfach "" als Adresse.
Ich kann den Bezug zwischen den zu versendenen Post-Variablen und dem aktiven Window in meinem Popup nicht herstellen.
Das macht das target-Attribut des Formulars schon für dich.
gruß,
wahsaga
hi,
ein action="window.open ...." alleine öffnet mir das Fenster mit dem PHP Skript, allerdings ohne die Post-Variablen.
Eben, deshalb wollen wir _das_ nicht machen.
Ein onSubmit liefert das selbe Ergebnis.
Öffne onsubmit dein Popup - aber _ohne_ darin bereits die Zielseite aufzurufen. "about:blank" oder ggf. auch einfach "" als Adresse.
Ich kann den Bezug zwischen den zu versendenen Post-Variablen und dem aktiven Window in meinem Popup nicht herstellen.
Das macht das target-Attribut des Formulars schon für dich.
gruß,
wahsaga
Ich glaub jetzt hab ich´s langsam verstanden, werds morgen nochmal testen, danke iom Voraus.
Grüsse
Matthias
hi,
ein action="window.open ...." alleine öffnet mir das Fenster mit dem PHP Skript, allerdings ohne die Post-Variablen.
Eben, deshalb wollen wir _das_ nicht machen.
Ein onSubmit liefert das selbe Ergebnis.
Öffne onsubmit dein Popup - aber _ohne_ darin bereits die Zielseite aufzurufen. "about:blank" oder ggf. auch einfach "" als Adresse.
Ich kann den Bezug zwischen den zu versendenen Post-Variablen und dem aktiven Window in meinem Popup nicht herstellen.
Das macht das target-Attribut des Formulars schon für dich.
gruß,
wahsaga
Hab mal ein Sample gemacht:
Die Seite mit dem Formular:
<form id="form1" name="form1" method="post" action="do.php"
onsubmit="window.open(, "testbox", "width=200,height=200,left=100,top=200"); return false" target="testbox">
<input type="text" name="textfield">
<input type="submit" name="Submit" value="Senden">
</form>
Die Seite mit dem php:
<?php
echo $_POST["textfield"];
?>
Ein neues Fenster geht auf, aber leider kein Popup, sondern ein nromales Browserfenster.
Grüsse
Matthias
Ich glaub jetzt hab ich´s langsam verstanden, werds morgen nochmal testen, danke iom Voraus.
Grüsse
Matthias
Moin
das
onsubmit="window.open(, "testbox", "width=200,height=200,left=100,top=200"); return false"
ist auch einfach falsch. Wenn du Anführungszeichen ineinander verschachtelst musst du entweder maskieren oder doppelte und einfache verwenden.
Gruß
rfb
Moin
das
onsubmit="window.open(, "testbox", "width=200,height=200,left=100,top=200"); return false"
ist auch einfach falsch. Wenn du Anführungszeichen ineinander verschachtelst musst du entweder maskieren oder doppelte und einfache verwenden.Gruß
rfb
aber so müsste es doch gehen oder:
onSubmit="window.open("", "testbox", width="200",height="200",left="100",top="200");" target="testbox">
Grüsse
Matthias
Moin
aber so müsste es doch gehen oder:
onSubmit="window.open("", "testbox", width="200",height="200",left="100",top="200");" target="testbox">
NEIN!
Gruß
rfb
Moin
aber so müsste es doch gehen oder:
onSubmit="window.open("", "testbox", width="200",height="200",left="100",top="200");" target="testbox">
NEIN!Gruß
rfb
so steht es unter http://www.selfhtml.net/javascript/objekte/window.htm#open
window.open("datei.htm","Fenster2","width=310,height=400,left=320,top=0");
Gruß
Matthias
Moin
aber so müsste es doch gehen oder:
onSubmit="window.open("", "testbox", width="200",height="200",left="100",top="200");" target="testbox">
NEIN!Gruß
rfbso steht es unter http://www.selfhtml.net/javascript/objekte/window.htm#open
window.open("datei.htm","Fenster2","width=310,height=400,left=320,top=0");
Gruß
Matthias
verdammt so geht es:
<form id="form1" name="form1" method="post" action="do.php"
onSubmit=window.open("","testbox","width=200,height=200,left=100,top=200"); target="testbox">
Danke für eure Hilfe !
Grüsse
Matthias
PS: wer diesen Beitrag verfolgt hat, hier der fertige Code. So wird ein super Browserfenster zentriert in jedem Browser geöffnet:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Unbenanntes Dokument</title>
<script language="JavaScript" type="text/JavaScript">
function openWindow(pUrl,windowName,width,height,scroll)
{
x = (640 - width)/2, y = (480 - height)/2;
if (screen)
{
y = (screen.availHeight - height)/2;
x = (screen.availWidth - width)/2;
}
if (screen.availWidth > 1800)
{
x = ((screen.availWidth/2) - width)/2;
}
if (scroll==null)
{
scroll='scrollbars=no';
}
else
{
scroll='scrollbars=yes';
}
window.open(pUrl,windowName,'width='+width+',height='+height+',screenX='+x+',screenY='+y+',top='+y+',left='+x+','+scroll);
}
</script>
</head>
<body>
<form id="form1" name="form1" method="post" action="do.php"
onSubmit=openWindow("","testbox","300","200","no"); target="testbox">
<input type="text" name="textfield">
<input type="submit" name="Submit" value="Senden">
</form>
</body>
</html>
Grüsse
Matthias
Hallo,
PS: wer diesen Beitrag verfolgt hat, hier der fertige Code. So wird ein super Browserfenster zentriert in jedem Browser geöffnet:
nö, dazu muss zunächst Javascript zugelassen sein.
<form id="form1" name="form1" method="post" action="do.php"
onSubmit=openWindow("","testbox","300","200","no"); target="testbox">
Das ist allerdings grob fehlerhaft. Die Anführungszeichen um Attributwerte dürfen (in HTML!) weggelassen werden, wenn der Wert nur aus Zeichen besteht, die auch in Namen zulässig sind. Aber nicht, wenn er seinerseits Klammern, Anführungszeichen, Kommas usw. enthält. In XHTML dürfen die Anführungszeichen grundsätzlich nicht weggelassen werden.
Tipp: Es gibt zwei Sorten Anführungszeichen, und im Gegensatz zu PHP sind sie in HTML und Javascript beliebig wählbar - solange sie in korrekter Paarung auftreten.
So long,
Martin
Könnte ich jetzt eigetnlich eine neue Seite öffnen target="_blank" und das Fenster nach dem Öffnen des neuen Fensters dann automatisch schließen.
Grüsse
Matthias