mrepox
Erfahrenes Mitglied
Hallo JS'ler
ich habe hier ein Formular welches in einem Popup geöffnet wird.
1. soll dieses popup-formular sich selber schließen, wenn man es mit der maus verläßt,
es also den focus verliert. dabei soll kein submit erfolgen.
2. soll es sich nach betätigen des "submit" buttons selbst schließen und den opener neu laden.
3. alles ohne irgendwelche Hinweise darauf, ob ein fenster geschloßen werden soll oder nicht (IE6)
Alle diese Ansprüche hatte ich bereits verwirklicht und sie klappten reibungslos im FF2.
Im IE6 scheint gar nichts mehr zu klappen.
Hier mal das betroffene Script:
so wird das popup geöffnet:
im MSIE6 ist es leider nicht möglich den submit-Button zu klicken, das Popup schließt sich ohne ausführung des submits
Kann mir jemand einen Anstoß geben?
ich habe hier ein Formular welches in einem Popup geöffnet wird.
1. soll dieses popup-formular sich selber schließen, wenn man es mit der maus verläßt,
es also den focus verliert. dabei soll kein submit erfolgen.
2. soll es sich nach betätigen des "submit" buttons selbst schließen und den opener neu laden.
3. alles ohne irgendwelche Hinweise darauf, ob ein fenster geschloßen werden soll oder nicht (IE6)
Alle diese Ansprüche hatte ich bereits verwirklicht und sie klappten reibungslos im FF2.
Im IE6 scheint gar nichts mehr zu klappen.
Hier mal das betroffene Script:
PHP:
<?php
session_start();
include('xxxxx');
include ('xxxxx.php');
//prüfen, ob als admin angemeldet
if (!check_auth_user()) {
login_form();
} else {
if(isset($_SESSION['update'])) //prüfen ob es sich um ein update oder eine neue erstellung handelt
{
// sessoin_vars für update eines datensatz
$guupdate = $_SESSION['update'];
$guid = $_SESSION['updateid'];
$gulinkname = $_SESSION['updatelinkname'];
$gusitepath = $_SESSION['updatesitepath'];
$gucategorie = $_SESSION['updatecategorie'];
}
//timepath für eintrag in db
$timestamp = time();
$date = date("d-m-y H:i:s",$timestamp);
// session_vars für neuen datensatz
$gsitename = $_SESSION['sname'];
$gpath = $_SESSION['showpath'];
$gext = $_SESSION['ext'];
$site_path = "show_page".$gext;
?>
<html><head><script type="text/javascript">function closepopup() { close();}
</script><body onBlur="closepopup()"></head>
<?php
// prüfen ob $_POST['requestpost'] existiert und ungleich "true" ist, wenn nein _SERVER_REQUEST_METHOD löschen(die var läge sonst nach
// wiederholten POST noch an)
if(!$_POST['requestpost'] && $_POST['requestpost'] != "true")
unset($_SERVER['REQUEST_METHOD']);
$text_tidy = $_POST['story_text'];
$text = stripslashes($text_tidy);
$text_bb = $text_tidy;
$text_input = htmlentities($text_tidy);
echo "<div style='margin:0;font-family:Trebuchet MS;'>";
$ausgabe =stripslashes(bb_code($text_bb ,'100'));
echo $ausgabe;
echo "</div>";
?>
<form action="submit.php" method="post" >
<input type ="hidden" name="story_text" value="<?php echo $text_input; ?>" >
<input type="hidden" name="requestpost" value="true">
<?php
if($_SERVER['REQUEST_METHOD'] !='POST') { // wenn REQUEST_METHOD ungleich "POST" ist, ist kein submit gewählt und button wird angezeigt
echo "<input type='submit' style='border:2px solid #ff0000;background:#eee;margin-top:50px;' value='in DB schreiben' >";
echo "</form>";
}
else //ist REQUEST_METHOD gleich "POST", daten in DB schreiben
{
// letzte id aus db holen
include_once('../function_s.php');
$conn = db_connect();
$query = "select * FROM page ORDER by `id`ASC ";
$result = $conn->query($query);
while($getid= $result->fetch_assoc())
{ $id_db = $getid['id'] ; }
$id = $id_db +1;
// wenn $guupdate existiert, liegt ein update vor, ansonsten wird ein neuer datensatz geschrieben
if(isset($_SESSION['update']))
{
if (update_page($guid,$text,$gulinkname,$gusitepath,$gucategorie,$date))
{
;
unset($_SESSION['updateid'],$_SESSION['updatelinkname'],$_SESSION['updatesitepath'],$_SESSION['updatecategorie']);
echo "<script type=\"text/javascript\">\n";
echo "opener.location.reload();\n";
echo "self.close();\n";
echo "</script>\n";
}
else
{
echo "session-vars not deleted";
}
}
else
{
$publish = "0"; // wenn wert 0, ist datensatz nicht veröffentlicht
$conn = db_connect();
$query = "insert into page values
('$id','$text','$gsitename','$site_path','$gpath','$date','$publish','$hardlink')";
$result = $conn->query($query);
if (!$result)
return FALSE;
else
echo "<script type=\"text/javascript\">\n";
echo "opener.location.reload();\n";
echo "self.close();\n";
echo "</script>\n";
}
}
}
?>
</body></html>
so wird das popup geöffnet:
PHP:
function WinOpen()
{
window.open('submit.php','popupform','scrollbars=yes,width=650,height=500,left=700,top=60');onMouseOver = popupform.close();
}
im MSIE6 ist es leider nicht möglich den submit-Button zu klicken, das Popup schließt sich ohne ausführung des submits
Kann mir jemand einen Anstoß geben?
Zuletzt bearbeitet: