Ergebnis 1 bis 9 von 9
  1. #1
    Pädi ist offline Grünschnabel
    registriert
    15-04-2010
    Beiträge
    5

    Ausgabetext mit IFrame ersetzen

    Hallo zusammen,

    Vielleicht könnt ihr mir weiterhelfen. Ich bin leider nicht der Hirsch in dieser Materie. Ich habe folgendes Problem. Ich muss zwei dynamische Drop-Downlisten kreiieren, bei welchen bei der Ausgabe ein Iframe (z.B. Profil.html) erscheint. Bisher habe ich die Drop-Down-menus hingekriegt. Das Problem ist, dass bei der Ausgabe nur reinen Text erscheint. Ich denke man muss beim Javascript irgendwas abändern (z.B was mit appendChild /Dir-Tag) wo man anstatt reinen Text ein Iframe einfügen könnte.

    Hoffe ihr versteht was ich meine Anbei stelle ich euch den Code zur Verfügung. Hoffe ihr könnt was damit anfangen. Vielen Dank für eure Bemühungen.

    Gruuus

    HTML-Code:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"><head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    
    <script type="text/javascript" language="javascript">
    
    function auswahlschuljahr()
    {
    for (loop = window.document.getElementById("auswahl_fach").options.length-1; loop > 0; loop--)
    {
    window.document.getElementById("auswahl_fach").options[loop] = null;
    }
    for (loop = 0; loop < optionenliste[window.document.getElementById("auswahl_schuljahr").selectedIndex].length; loop++)
    {
    window.document.getElementById("auswahl_fach").options[loop] = new Option(optionenliste[window.document.getElementById("auswahl_schuljahr").selectedIndex][loop]);
    }
    window.getElementById.auswahl_fach.selectedIndex = 0;
    }
    
    function auswahlfach()
    {
    document.getElementById("ausgabe").innerHTML = text_container[window.document.getElementById("auswahl_schuljahr").selectedIndex][window.document.getElementById("auswahl_fach").selectedIndex];
    }
    
    function set_orig()
    
    {
    window.getElementById.auswahl_schuljahr.selectedIndex = 0;
    window.getElementById.auswahl_fach.selectedIndex = 0;
    }
    
    window.onload = set_orig
    
    var anzahl_kategorie = 7;
    var optionenliste = new Array(anzahl_kategorie);
    optionenliste[0] = new Array("-- Auswahl --");
    
    optionenliste[1] = new Array("-- Auswahl --",
    "Deutsch",
    "Mathematik",
    "Englisch");
    
    optionenliste[2] = new Array("-- Auswahl --",
    "Chemie",
    "Physik");
    
    optionenliste[3] = new Array("-- Auswahl --",
    "Deutsch",
    "Geographie");
    
    var text_container = new Array(anzahl_kategorie);
    text_container[0] = new Array("Text 0");
    
    text_container[1] = new Array("-- Auswahl --",
    "Iframe Profil.html für Deutsch im 7. Schuljahr",
    "Iframe Profil.html für Mathematik im 7. Schuljahr",
    "Iframe Profil.html für Englisch im 7. Schuljahr");
    
    text_container[2] = new Array("-- Auswahl --",
    "Iframe Profil.html für Chemie im 8. Schuljahr",
    "Iframe Profil.html für Physik im 8. Schuljahr");
    
    text_container[3] = new Array("-- Auswahl --",
    "Iframe Profil.html für Deutsch im 9. Schuljahr",
    "Iframe Profil.html für Geographie im 9. Schuljahr");
    
    // -->
    </script>
    </head>
    
    
    <body>
    
    
    </head>
    
    
    
      <table width="1000" border="0" cellspacing="0" cellpadding="5">
        <tr valign="top">
          <th scope="col"><div align="left">Bitte wähle das gewünschte Schuljahr aus:</div></th>
          <th width="200" rowspan="6" scope="col">&nbsp;</th>
          <th width="400" height="40" rowspan="6" scope="col"><div id="ausgabe"></div></th>
        </tr>
        <tr valign="top">
          <th scope="col"><div align="left">
            <select name="auswahl_" id="auswahl_schuljahr" onchange="auswahlschuljahr(); ">
              <option>-- Auswahl --</option>
              <option>7. Schuljahr</option>
              <option>8. Schuljahr</option>
              <option>9. Schuljahr</option>
            </select>
          </div></th>
        </tr>
        <tr valign="top">
          <th scope="col">&nbsp;</th>
        </tr>
        <tr valign="top">
          <th scope="col"><div align="left">Bitte wähle das gewünschte Fach aus:</div></th>
        </tr>
        <tr valign="top">
    
    
       <th scope="col"><form>
         <div align="left">
           <select id="auswahl_fach" onchange="auswahlfach();">
             <option>-- Auswahl --</option>
             <option></option>
             <option></option>
           </select>
         </div>
       </form>
         <div align="left"><br />
         </div></th>
    
    
          </tr>
    
      </table>
    
    <p>&nbsp;</p>
    
    
    </body>
    </html>
    
    
    

  2. #2
    Avatar von Junkee[]
    Junkee[] ist offline Lounge-Member
    registriert
    08-05-2009
    Ort
    Leonberg
    Beiträge
    3.169

    AW: Ausgabetext mit IFrame ersetzen

    entweder mit document.createElement und appendChild oder direkt den HTML-Code mit innerHTML übergeben.

  3. #3
    Pädi ist offline Grünschnabel
    registriert
    15-04-2010
    Beiträge
    5

    AW: Ausgabetext mit IFrame ersetzen

    Hi Junkii,

    vielen Dank für deine Antwort. Ich hab das mit appenChild versucht. Jedoch bin ich wie gesagt nicht so gut beim codieren. Ich weiss leider nicht so genau wie man diesen Code aufstellt, dass es funktioniert. Bin Anfänger :-)

    grz

  4. #4
    Avatar von Junkee[]
    Junkee[] ist offline Lounge-Member
    registriert
    08-05-2009
    Ort
    Leonberg
    Beiträge
    3.169

    AW: Ausgabetext mit IFrame ersetzen

    was hast du versucht? code!

  5. #5
    Pädi ist offline Grünschnabel
    registriert
    15-04-2010
    Beiträge
    5

    AW: Ausgabetext mit IFrame ersetzen

    Ja ich denkediese Codezeile müsste man umprogrammieren:
    HTML-Code:
    {
    document.getElementById("ausgabe").innerHTML = text_container[window.document.getElementById("auswahl_schuljahr").selectedIndex][window.document.getElementById("auswahl_fach").selectedIndex];
    }
    dann hab ich ein bisschen rumgegoogelt wie man Text in Div bzw. dann iframe umwandeln kann. Ob das so richtig ist weiss ich nicht. Hab dann das gefunden

    HTML-Code:
                                    var new_div = document.createElement("DIV");
                                    document.getElementById("asb_content").appendChild(new_div); 
                                    document.getElementById("asb_content").innerHTML= document.getElementById("asb_content").innerHTML + mdaten;         
     
    und versucht anzupassen bei meinem code:

    HTML-Code:
    function auswahlfach()
      {                              var new_div = document.createElement("DIV");
                                    document.getElementById("ausgabe").appendChild(new_div); 
                                    document.getElementById("ausgabe").innerHTML= document.getElementById("ausgabe").innerHTML + text_container;        
    								
    								}

    aber das ging naürlich nicht :-) so einfach kann man ja nicht rumbasteln. Wie gesagt habe keine Ahnung. Deshalb dachte ich ich poste mal den ganzen Code in ein Forum und vielleicht kann mir dann jemand helfen den Code dementsprechend abzuändern, dass man IFrames einsetzen kann.

    Wenn du den ersten Code, welche ich bei meinem ersten Beitrag publiziert habe, in ein HTML File einfügst, siehst du was ich meine. Das anstatt der Text: z.B. "Iframe Profil.html für Deutsch im 7. Schuljahr" - sollte ein Iframe erscheinen (z.B. von profil.html oder so).

    Sorry bin halt ein komplizierter Laie :-D

    grz

  6. #6
    Avatar von Junkee[]
    Junkee[] ist offline Lounge-Member
    registriert
    08-05-2009
    Ort
    Leonberg
    Beiträge
    3.169

    AW: Ausgabetext mit IFrame ersetzen

    entweder:
    Code:
    REFERENZ.innerHTML = "<iframe src='whatever'></iframe>";
    oder
    Code:
    var iframe = document.createElement("iframe");
    iframe.src = "whatever";
    REFERENZ.appendChild(iframe);

  7. #7
    Pädi ist offline Grünschnabel
    registriert
    15-04-2010
    Beiträge
    5

    AW: Ausgabetext mit IFrame ersetzen

    Ja vielen Dank für die Info. Werde es gleich mal ausprobieren. Was mir nur unklar ist, wie und wo ich das genau einfügen muss, weil es sind ja mehrere einzelne iframes, je nachdem was angewählt wurde.

    Momentan erscheinen die einzelnen Texte, welche hier codiert sind (var text_container). Wenn man z.B. 7. Schuljahr und Deutsch auswählt, sollte z.B. iframe deutsch7schuljahr.html erscheinen.

    HTML-Code:
    var text_container = new Array(anzahl_kategorie);
    text_container[0] = new Array("Text 0");
    
    text_container[1] = new Array("-- Auswahl --",
    "Iframe deutsch7Schuljahr.html für Deutsch im 7. Schuljahr",
    "Iframe Profil.html für Mathematik im 7. Schuljahr",
    "Iframe Profil.html für Englisch im 7. Schuljahr");
    
    text_container[2] = new Array("-- Auswahl --",
    "Iframe Profil.html für Chemie im 8. Schuljahr",
    "Iframe Profil.html für Physik im 8. Schuljahr");
    
    text_container[3] = new Array("-- Auswahl --",
    "Iframe Profil.html für Deutsch im 9. Schuljahr",
    "Iframe Profil.html für Geographie im 9. Schuljahr");
    Dieses var text_container nimmt bezug auf diesen Code

    HTML-Code:
    function auswahlfach()
    {
    document.getElementById("ausgabe").innerHTML = text_container[window.document.getElementById("auswahl_schuljahr").selectedIndex][window.document.getElementById("auswahl_fach").selectedIndex];
    }
    Die Frage stellt sich nun, wo muss ich was abändern? sicher bei fuction auswahlfach und dann auch bei var text_container, wo die einzelnen IFrames eigentlich hin müssten?

    grz
    Geändert von Pädi (15-04-2010 um 15:43 Uhr)

  8. #8
    Avatar von Junkee[]
    Junkee[] ist offline Lounge-Member
    registriert
    08-05-2009
    Ort
    Leonberg
    Beiträge
    3.169

    AW: Ausgabetext mit IFrame ersetzen

    dann must du als src die Seite angeben. Mit einem RegExp könntest du die url extrahieren:
    Code:
    selectString.match("/Iframe\s([^\s]+])/")[1];

  9. #9
    Pädi ist offline Grünschnabel
    registriert
    15-04-2010
    Beiträge
    5

    AW: Ausgabetext mit IFrame ersetzen

    Hallo

    Habe soeben das Problem gelöst. Es konnte mir jemand weiterhelfen. Im Anhang ist die Lösung.

    Aber vielen Dank für deine Bemühungen.

    grez
    Angehängte Dateien Angehängte Dateien

Ähnliche Themen

  1. iframe reload iframe
    Von adwax im Forum JavaScript
    Antworten: 0
    Letzter Beitrag: 23-09-2008, 14:23
  2. Daten aus iFrame in PHP (Parent) Formular einfügen
    Von centauro im Forum JavaScript
    Antworten: 3
    Letzter Beitrag: 22-09-2007, 18:30
  3. iframe mit refresh durch ajax ersetzen?
    Von spacemanager im Forum JavaScript
    Antworten: 2
    Letzter Beitrag: 17-08-2006, 22:59
  4. iFrame Höhe wie externe Seite
    Von sven2 im Forum JavaScript
    Antworten: 0
    Letzter Beitrag: 19-08-2005, 14:37
  5. Link aus iframe verändert parent Fensteransicht
    Von jacky im Forum Serverseitige Programmierung
    Antworten: 8
    Letzter Beitrag: 16-07-2004, 15:43

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •