funktion in javascript: fehlermeldung

Vielleicht kann mir jemand weiterhelfen.

Ich habe folgendes Problem...

Mein Code
document.write("<td><a href=# onclick=kill('"+typ+"')><img src='../images/delete.png' alt='' border='0'></a></td>");

Wenn ich nun diese Funktion aufrufe, wird die Variable an diese Funktion versendet und verarbeitet:

function kill(typ){
 Check = confirm(typ +" wirklich löschen?");
}

Hat nun der Inhalt einer Variable ein Leerschlag, erhalte ich eine Fehlermeldung von der Javascript Konsole:

unterminated string literal:
kill('blabla

Gibt es eine Möglichkeit, Variablem mit Leerschlägen an eine Funktion zu senden?

Besten Dank im Voraus für eure Antworten!

  1. hi,

    document.write("<td><a href=# onclick=kill('"+typ+"')><img src='../images/delete.png' alt='' border='0'></a></td>");
    function kill(typ){
    Check = confirm(typ +" wirklich löschen?");
    }

    Hat nun der Inhalt einer Variable ein Leerschlag, erhalte ich eine Fehlermeldung von der Javascript Konsole:

    unterminated string literal:
    kill('blabla

    Gibt es eine Möglichkeit, Variablem mit Leerschlägen an eine Funktion zu senden?

    Und mit Leerschlag meinst du was genau? Ein Space, Leerzeichen, Blank?
    Dabei dürfte kein Problem auftreten.

    Wenn du einen Zeilenumbruch meinen solltest - ja, natürlich stellt das ein Problem dar, weil in Javascript Textliterale nicht über Zeilengrenzen hinausgehen dürfen. Dann müsstest du den Zeilenumbruch vorher ersetzen.

    Und einfache Hochkommata oder Anführungszeichen im Inhalt von typ wären ohne Maskierung genauso fehlerträchtig.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Ja, mit Leerzeichen meine ich Space.

      Aber sobald eine Variable mit einem Space vorkommt, kommt eine fehlermeldung, sobald der Space kommt: z.B. var typ = 'Markus Müller'

      1. hi,

        Aber sobald eine Variable mit einem Space vorkommt, kommt eine fehlermeldung, sobald der Space kommt: z.B. var typ = 'Markus Müller'

        Dann schauen wir mal, was käme dabei heraus:

        typ = 'Markus Müller';  
        document.write("<td><a href=# onclick=kill('"+typ+"')><img src='../images/delete.png' alt='' border='0'></a></td>");
        

        dürfte
        <td><a href=# onclick=kill('Markus Müller')><img src='../images/delete.png' alt='' border='0'></a></td>
        ergeben.

        Sieht das für dich sinnvoll aus?

        Wo beginnt der Wert deine onclick-Attributes, wo endet er?

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
        1. Habe nun Attribute festgelegt vom onclick:
          <a href=# onclick="kill('"+typ+"')">

          Aber die Fehlermeldung erscheint dennoch.
          Wie würde denn deine Lösung aussehen?

          Gruss

          1. Hi,

            <a href=# onclick="kill('"+typ+"')">
            Wie würde denn deine Lösung aussehen?

            die Frage ist ungünstig gestellt, weil schon das Ausgeben obigen "Links" reichlich absurd ist. wahsaga wäre an das eigentliche Problem sicherlich völlig anders heran gegangen - und hätte vermutlich bereits document.write() nicht eingesetzt.

            Vielleicht solltest Du die Informations-Bröckchen noch einmal ordnen und sie anschließend bei Null beginnend so darlegen, dass ein anderer Dein Problem auf Anhieb nicht nur verstehen, sondern nachvollziehen kann.

            Cheatah

            --
            X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
            X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
            X-Will-Answer-Email: No
            X-Please-Search-Archive-First: Absolutely Yes
  2. document.write("<td><a href=# onclick=kill('"+typ+"')><img src='../images/delete.png' alt='' border='0'></a></td>");

    [..]

    function kill(typ){
    Check = confirm(typ +" wirklich löschen?");
    }

    Das dies ziemlich umständlich zu maskieren ist, und du die Zeile ja sowieso schon per Javascript einfügst, könntest du das auch so lösen:

    document.write('<td><a id="mein_link" href=#><img src="../images/delete.png" alt="" border=0></a></td>');
    document.getElementById('mein_link').onclick = kill(typ);

    Dein eigentliches Problem kommt daher, das dein onclick eigentlich so aussehen müsste, da ansonsten für den browser nicht mehr klar ist was da alles dazugehört:

    onclick="kill('"+typ+"')"