Fenster öffnen

Hallo,

nun, ich habe eine Funktion geschrieben:
Code:
  function Teilnehmer_waehlen() {
    var width = 200;
    var height = 300;
    var left = 300;
    var top = 300;
    var title = "Teilnehmer Wählen";
    document.getElementById("user_win").style.setAttribute('BackgroundColor',"#505050","true");
    document.getElementById("user_win").style.setAttribute('left',left+"px");						
    document.getElementById("user_win").style.setAttribute('top',top+"px");		
    document.getElementById("user_win").style.setAttribute('width',width);
    document.getElementById("user_win").style.setAttribute('height',height);						
    document.getElementById("user_win").style.setAttribute("zindex",2000,"false");   
    width=width-2;
    height=height-2;
    closepos=width-16;					  
    inhalt="<div style='position:absolute; left:0px; top:0px; width:"+width+"px; height:"+height+"px; background-color:#c0c0c0'> </div>";
    inhalt=inhalt+"<div style='position:absolute; left:0px; top:0px; width:"+width+"px; height:14px; background-color:#e0e0e0'> </div>";
    inhalt=inhalt+"<div style='position:absolute; left:5px; top:1px; font-size:10pt; color:black'><b>"+title+"</b></div>";			
    inhalt=inhalt+"<img style='position:absolute; left:"+closepos+"px;' src='bilder/close.jpg' alt='close' onclick='CloseUserWin();'>";
    inhalt=inhalt+"<center><table>";
    var teilnehmer_array = new Array();
    var teilnehmer = "<?php print $teilnehmer; ?>";
    teilnehmer_array = teilnehmer.split("!");
    for(i=0; i<teilnehmer_array.length; i++) {
      inhalt=inhalt+"<tr><td><input id=\"Teilnehmer_" + i + "\" name=\"" + teilnehmer_array[i] + "\" type=\"checkbox\"></td><td>" + teilnehmer_array[i] + "</td></tr>";
    }
    inhalt=inhalt+"</table></center><button onClick=\"Teilnehmer_setzen();\">OK</button>";
    document.getElementById("user_win").innerHTML=inhalt;
  }

und im body steht:
Code:
<div id="user_win" style="position:absolute; top:0px; left:0px; width:0px; height:0px; background-color:#000000; z-index:1;"></div>

so wenn ich die Funktion nun aufrufe möchte ich das man die Teilnehmer auswählen kann, aber der öffnet nur das "fenster" aber es steht nichts drin... also der titel und das "X" zum schließen erscheinen, aber sonst ist das Feld leer, kannmir einer erklären warum? bzw. was ich ändern muss damit es funktioniert?

Danke im schonmal im Voraus,
Junior
 
teilnehmer_array.lenght gibt's nicht, nur teilnehmer_array.length.

[EDIT]
Oh, das hast du offenbar eben korrigiert. Funktioniert's denn jetzt? Wenn nein, wie sieht der HTML-Quellcode im Ergebnis denn aus, da du ja dazwischen noch PHP zu stehen hast?
 
Lösung:
Error: user_win.style.setAttribute is not a function

Hinweis:
1. Firefox: Menu -> Tools -> Error Console
2. Das fortlaufend wiederholte Ausführen komplexer Anweisungen, die doch stets nur ein und dasselbe (mit anderen Worten: konstante) Ergebnis liefern, führt nicht nur zu sinnlos überhöhten Prozeßzeiten, sondern stört auch die Fehlersuche. Oben angegebene Meldung gibt es, wenn man das ermittelte "user_win" in einer Variablen zwischenspeichert und für Manipulationen der Internas auf jene Variable zurückgreift:

Code:
var user_win = document.getElementById("user_win");

user_win.style.setAttribute('BackgroundColor',"#505050","true");
usw. usf.

3. Zur weiter führenden Korrektur: http://developer.mozilla.org/en/docs/Gecko_DOM_Reference
(setAttribute ist eine Funktion eines DOM-Elements, nicht des Styles eines DOM-Elements...)
 
jetzt funktzioniert es!!!

neuer code:
Code:
<html>
  <head>
    <script type="text/javascript">
      <!--
        function Teilnehmer_waehlen() {
          var width = 200;
          var height = 300;
          var left = 300;
          var top = 300;
          var title = "Teilnehmer Wählen";
          var user_win = document.getElementById("user_win");
          user_win.style.setAttribute('BackgroundColor',"#505050","true");
          user_win.style.setAttribute('left',left+"px");						
          user_win.style.setAttribute('top',top+"px");		
          user_win.style.setAttribute('width',width);
          user_win.style.setAttribute('height',height);						
          user_win.style.setAttribute("zindex",2000,"false");   
          width=width-2;
          height=height-2;
          closepos=width-16;					  
          inhalt="<div style='position:absolute; left:0px; top:0px; width:"+width+"px; height:"+height+"px; background-color:#c0c0c0'> </div>";
          inhalt=inhalt+"<div style='position:absolute; left:0px; top:0px; width:"+width+"px; height:14px; background-color:#e0e0e0'> </div>";
          inhalt=inhalt+"<div style='position:absolute; left:5px; top:1px; font-size:10pt; color:black'><b>"+title+"</b></div>";			
          inhalt=inhalt+"<img style='position:absolute; left:"+closepos+"px;' src='bilder/close.jpg' alt='close' onclick='CloseUserWin();'>";
          inhalt=inhalt+"<div style='position:absolute; left:5px; top:15px;'><table>";
          var teilnehmer_array = new Array();
          var teilnehmer = "Haensel!Gretel";
          teilnehmer_array = teilnehmer.split("!");
          for(i=0; i<teilnehmer_array.length; i++) {
            inhalt=inhalt+"<tr><td><input id=\"Teilnehmer_" + i + "\" name=\"" + teilnehmer_array[i] + "\" type=\"checkbox\"></td><td>" + teilnehmer_array[i] + "</td></tr>";
          }
          inhalt=inhalt+"</table><button onClick=\"Teilnehmer_setzen();\">OK</button></div>";
          user_win.innerHTML=inhalt;
        }
				
        function CloseUserWin() {
          var user_win = document.getElementById("user_win");
          user_win.style.setAttribute('width',0);
          user_win.style.setAttribute('height',0);						
          user_win.innerHTML="";
        }
      //-->
    </script>
  </head>
  <body>
    <a href="javascript:Teilnehmer_waehlen();">test</a>
    <div id="user_win" style="position:absolute; top:0px; left:0px; width:0px; height:0px; background-color:#000000; z-index:1;"></div>
  <body>
</html>
 
ja habs korregiert, hat dann aber immer noch nicht funktioniert!!!

hab dann bei dem dv element wo das table dirn ist eine positionsangabe reingemacht und dann hat es funktioniert....

der code der jetzt da steht funktioniert auf jeden fall :)

thx
 
Zurück
Oben