Eine Variable prüfen und dann Variablen zusammen setzen

  • Hallo,

    ich habe wahrscheinlich ein Problem, welches gar keins ist, aber ich kriege es trotz verschiedener bisher probierter Varianten nicht hin.

    Im Body einer HTML-Seite wird folgendes übergeben:

    <a href="javascript:Inhalt(l_News,m_News,r_News)">News</a>

    “links”, “mitte” und “rechts” sind div’s, (id=“links“, „mitte“, „rechts“), die mit dem Inhalt einer Variablen gefüllt werden.

    Nun soll geprüft werden, ob die Variable „sprache“ = deutsch ist. In diesem Fall sollen die Variablen „de_l_News“, „de_m_News“ und „de_r_News“ in die jeweilige div geschrieben. Andernfalls sollen die Variablen „en_l_News“, „en_m_News“ und „en_r_News“ in die jeweilige div geschrieben werden.


    <script type="text/javascript">

    var sprache='deutsch';

    function Inhalt (links, mitte,rechts) {
    if (sprache.equals("deutsch")){
    var links="de_"+links;
    var mitte="de_"+mitte;
    var rechts="de_"+rechts;
    document.getElementById('links').innerHTML = [links];
    document.getElementById('mitte').innerHTML = [mitte];
    document.getElementById('rechts').innerHTML = [rechts];
    } else {
    var links="en_"+links;
    var mitte="en_"+mitte;
    var rechts="en_"+rechts;
    document.getElementById('links').innerHTML = [links];
    document.getElementById('mitte').innerHTML = [mitte];
    document.getElementById('rechts').innerHTML = [rechts];
    }
    }
    </script>


    Wo ist der Fehler? Danke für Eure Hilfe.

    Gruß, Michael.

  • Dies ist warscheinlich eine weniger hilfreiche antwort...

    Was die sache mit der Sprachauswahl angeht habe ich selber schon einige stunden gesucht und zu guter letzt dieshier gefunden.
    Damit geht das ganze eigentlich relativ simpel und es vereinfacht einige sachen sehr :D.
    Was machst du ,wenn jemand der deine Website besucht, javascript deaktiviert hat? :/

    ps: falls ich irgendeinen mist geschrieben habe bitte ich darum diesen post zu ignorieren^^ bin ja selber noch ein halber Neuling :P

    Mfg

    Einmal editiert, zuletzt von Keksi07 (17. März 2013 um 11:53)

  • also der eine weg via php von keksi is möglich, mann kann aber auch konstanten als sprachdaten definieren oder ganz auf ne datenbank setzen..
    vorteil der konstanten: man kann se nich überschreiben
    vorteil der datenbank: man hat wahrscheinlich mehr struktur drin ;)

    zum problem hier:
    du solltest nicht probieren deine variablen so zu nennen, wie deine parameter, das verwirrt nur und dürfte auch nich funktionieren :)
    dann hast du ne array-anweisung hinter deinem zuweisungsoperator.
    du kannst die parameter so direkt aufrufen, die sind quasi wie ne variable verfügbar

    einfacher wäre ein konstrukt wie:

    var prefix = 'de' //vorinit der var in der standardsprache

    if sprache.equals(englisch){
    prefix = 'en'
    }else if sprache.equals(klicks)´{
    prefix = 'klicks'
    }

    und dann hauste nur noch prefix+PARAMETERBEZICHNER ins inner html

  • Dein Typ war prima, habe das ganzer ein wenig vereinfacht:

    <script type="text/javascript">

    var prefix='de_';

    function Inhalt (links, mitte,rechts) {
    document.getElementById('links').isnnerHTML = [prefix+links];
    document.getElementById('mitte').innerHTML = [prefix+mitte];
    document.getElementById('rechts').innerHTML = [prefix+rechts];
    }
    </script>


    ...aber leider funktioniert es noch nicht...

  • na du hast ja noch immer ne array-zuweisung...

    also es muss mindestens schomma so aussehen:

    document.getElementById('links').isnnerHTML = prefix+links;

    und was haste denn noch vereinfacht? das is ja genau das, was ich meinte, bis auf die falsche zuweisung :D