alternativen oder verbesserungen zu alert()?

Hallo und Danke,

ich hab das div nun drin, doch immer noch keine Ausgabe ... nichts passiert.
Der IE meint:
hallo ist undefiniert Zeile 18

sehr seltsam die ganze Angelegenheit.

Beste Gruesse
 
PHP:
<?php
$message = "hallo";
echo "<div id=\"infodiv\" style=\"position:absolute;visibility:hidden;\"></div>
<script language=\"JavaScript\">
function showInfo(infomsg) {
  var objBody =(window.document.compatMode == \"CSS1Compat\")? window.document.documentElement : window.document.body || null;
  var intScrH = (window.innerHeight)? window.innerHeight : ((objBody.offsetHeight)? objBody.offsetHeight : 0);
  var intScrW = (window.innerWidth)? window.innerWidth : ((objBody.offsetWidth)? objBody.offsetWidth : 0);

  if (navigator.appName == \"Microsoft Internet Explorer\") {
    document.getElementById(\"infodiv\").style.top = (objBody.scrollTop + (intScrH/2) - (document.getElementById(\"infodiv\").offsetHeight/2))  + \"px\";
  } else {
    document.getElementById(\"infodiv\").style.top = (window.pageYOffset + (intScrH/2) - (document.getElementById(\"infodiv\").offsetHeight/2)) + \"px\";
  }

  document.getElementById(\"infodiv\").style.left = ((intScrW/2) - (document.getElementById(\"infodiv\").offsetWidth/2)) + \"px\";
  document.getElementById(\"infodiv\").innerHTML = \"[Deine Formatierung]\" + infomsg + \"[Ende deiner Formatietung]\";
  document.getElementById(\"infodiv\").style.visibility = \"visible\";
}
showInfo(\"$message\");
</script>";
?>

Dann versuchs mal so, du hattest das hallo als Objekt übergeben, nur mit den Anführungstrichen wird es zum gewünschten String
 
Hi,

es wird langsam ^^ leider neue Fehlermeldung ... hier mal eine Kopie davon

Details zum Fehler auf der Webseite

Benutzer-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
Zeitstempel: Sat, 25 Jul 2009 22:50:05 UTC


Meldung: 'offsetHeight' ist Null oder kein Objekt
Zeile: 5
Zeichen: 3
Code: 0
URI: http://127.0.0.1/test.php
 
Das liegt damit zusammen, dass du das nich definiert hast.

Das must du im style="[...]"-teil des divs machen, damit bestimmst du die ausmaße etc des divs.. das musste aber selbst designen!
 
Hi,

hab jetzt sowas probiert, .... scheint nicht zu klappen

Code:
style=\"position:absolute;offsetHeight:20;offsetWidth:40;visibility:hidden;\"

werde mal morgen mich dazu schlau machen, besten Dank fuer deine Zeit und Antworten. :)

beste Gruesse
 
PHP:
<?php
$message = "hallo";
echo "<div id=\"infodiv\" style=\"position:absolute;visibility:hidden;\"></div>
<script language=\"JavaScript\">
function showInfo(infomsg) {
  var objBody =(window.document.compatMode == \"CSS1Compat\")? window.document.documentElement : window.document.body || null;
  var intScrH = (window.innerHeight)? window.innerHeight : ((objBody.offsetHeight)? objBody.offsetHeight : 0);
  var intScrW = (window.innerWidth)? window.innerWidth : ((objBody.offsetWidth)? objBody.offsetWidth : 0);

  if (navigator.appName == \"Microsoft Internet Explorer\") {
    document.getElementById(\"infodiv\").style.top = (objBody.scrollTop + (intScrH/2))  + \"px\";
  } else {
    document.getElementById(\"infodiv\").style.top = (window.pageYOffset + (intScrH/2)) + \"px\";
  }

  document.getElementById(\"infodiv\").style.left = ((intScrW/2)) + \"px\";
  document.getElementById(\"infodiv\").innerHTML = \"[Deine Formatierung]\" + infomsg + \"[Ende deiner Formatietung]\";
  document.getElementById(\"infodiv\").style.visibility = \"visible\";
}
showInfo(\"$message\");
</script>";
?>

Dann nimms halt erstmal raus
 
Zuletzt bearbeitet:
Hi,

aber wenn ich es raus nehme, dann bekomme ich doch wieder die Fehlermeldung
'offsetHeight' ist Null oder kein Objekt
habe nun folgendes versucht:
Code:
style=\"position:absolute;offsetHeight:200px;visibility:hidden;\"
Code:
style=\"position:absolute;height:200px;visibility:hidden;\"
und weitere Abwandlungen...
immer wieder die gleiche Meldung. IE, Chrome, Firefox... alle scheinen zu streiken.

Funktioniert das jemanden?

Beste Gruesse
 
Hi, ich hab noch mal gebaut grade!

Das hier funktioniert bei mir im Firefox, Opera, Chrome und IE!

PHP:
<div id="infodiv" style="position:absolute;width:200px;height:150px;visibility:hidden;">Hallo</div>

<script language="JavaScript">

function iebody(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function showinfo(msg) {
  document.getElementById("infodiv").innerHTML = "<h3>" + msg + "</h3>";
  divWidth = document.getElementById('infodiv').style.width.replace("px" , "");
  divHeight = document.getElementById('infodiv').style.height.replace("px" , "");
  if (navigator.appName == "Microsoft Internet Explorer") {
	document.getElementById("infodiv").style.top = iebody().scrollTop + iebody().clientHeight / 2 - divHeight / 2 + "px";
	document.getElementById("infodiv").style.left = (iebody().clientWidth / 2) - (divWidth / 2) + "px"; 
  } else {
  	document.getElementById("infodiv").style.top = window.pageYOffset + window.innerHeight / 2 - divHeight / 2 + "px";
	document.getElementById("infodiv").style.left = (window.innerWidth / 2) - (divWidth / 2) + "px";
  }
  document.getElementById("infodiv").style.visibility = "visible";
}

function hideinfo() {
  document.getElementById("infodiv").style.visibility = "hidden";
}
</script>
<a href="http://www.google.de" onmouseover="JavaScript:showinfo('Sie werden zu Google gelangen')" onmouseout="JavaScript:hideinfo()">Maus hier drüber</a>

Das ist ohne event, also immer aufrufbar, das div musste allerdings evlt noch stylen!

Viel Spaß damit!
 
Zurück