Abraxas: Inhalt einer externen .shtml Datei per js in <div> setzen

Hallo liebe Leute,

ich suche nun schon seit zwei Tagen und finde einfach keine funktionierende Lösung:

Ich habe eine Seite
"homepage.php", in der die verschiedenen Unterseiten in einem

<div="inhalt">

angezeigt werden. Die Links im Menü ändern also folglich den Inhalt dieses Divs je nach ausgewählter Unterseite.

Per php und "include 'xy.shtml'" funktionierts prima, jedoch wird jedesmal die ganze Seite neu geladen. Ich möchte, dass lediglich der Inhalt des Divs ausgetauscht wird.

Also hab ichs (vergeblich) mit javascript versucht:

Der Link ist nun ein "onClick='changecontent('xy.shtml')'",
die entsprechende Funktion sollte mit

function changecontent(unterseite) {
   document.getElementById('inhalt').src = unterseite;

diese Unterseite in den Div setzen.

Bekomme zwar keine Fehlermeldung, jedoch tut sich einfach nichts.

Weiss vielleicht jemand einen Rat?

  1. sorry, auch noch ein Schreibfehler:

    es soll natürlich keissen:

    <div id="inhalt">

    und nicht

    <div = "inhalt">

  2. Hallo Abraxas.

    Per php und "include 'xy.shtml'" funktionierts prima, jedoch wird jedesmal die ganze Seite neu geladen. Ich möchte, dass lediglich der Inhalt des Divs ausgetauscht wird.

    Unter der Prämisse, dass du das derzeitige HTML nicht anrührst (außer vielleicht, um das onclick–Attribut zu streichen), könntest du versuchen, dein Vorhaben per AJAX umzusetzen. Achte aber bitte unbedingt darauf, dass deine Site ohne JS ebenfalls uneingeschränkt benutzbar ist.

    Einen schönen Mittwoch noch.

    Gruß, Mathias

    --
    sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
    „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
    [HTML Design Constraints: Logical Markup]
    1. Hallo Matthias,

      herzlichen Dank für deine schnelle und hilfreiche Antwort.
      Habe den Code in dem von dir angegebenen Link genau angeschaut.

      Das müsste so klappen, jedoch ist die Frage berechtigt,
      was wohl geschieht, wenn kein javascript möglich/aktiviert ist.

      Da ist die Lösung mit PHP und dem "hässlichen" Reload der Seite
      schon die sicherste Variante.

      Vielen Dank und einen schönen Abend noch.

      Abraxas