BuG: knifflige zeile: finde den fehler nicht

hallo,

diese zeile macht mich fertig. der fehler mus in dieser zeile sein..

variable="<div align='right'><font face='Arial,Helvetica,sans-serif' size='1'><a href='#' name='Prozessor1' onClick='updateInhalt('CheckPr1','<a href='#' onClick='CheckClick();'><img src='layout/nosc/check.gif' border='0'></a>')'>TEXT</a></div>"

der funktionsaufruf updateInhalt übergibt 2 werte.
ich kann leider nicht die ganze seite posten, weil es eine asp seite ist... aber wenn den durchblick bei verschachtelungen hat müsste den fehler finden können !?

danke
BuG

  1. Hi BuG,

    diese zeile macht mich fertig. der fehler mus in dieser zeile sein..

    ganz schöner rattenschwanz...ich kenn' sowas - das kann dir den letzten nerv rauben ;-D

    variable="<div align='right'><font face='Arial,Helvetica,sans-serif' size='1'><a href='#' name='Prozessor1' onClick='updateInhalt('CheckPr1','<a href='#' onClick='CheckClick();'><img src='layout/nosc/check.gif' border='0'></a>')'>TEXT</a></div>"

    der funktionsaufruf updateInhalt übergibt 2 werte.
    ich kann leider nicht die ganze seite posten, weil es eine asp seite ist... aber wenn den durchblick bei verschachtelungen hat müsste den fehler finden können !?

    Du hast leider keine fehlerbeschreibung mitgeliefert, aber ich schätze 'mal es liegt daran, daß du versch. arten von hochkommata ( " und ' ) ineinander verschachtelt hast, ohne diese als sonderzeichen zu deklarieren:

    verschachtel= " nochweiter_verschachtel='sowas_aber_auch' "

    das prinzip ist also, den inneren hochkommata jeweils einen backlash voranzustellen ( " oder ' )

    probier's einfach 'mal, vielleicht liegt's ja daran...

    so long...
    /*,*/
    Wowbagger

  2. Hallo Bug,

    versuche mal:

    variable='<div align="right"><font face="Arial,Helvetica,sans-serif" size="1"><a href="#" name="Prozessor1" onClick="updateInhalt('CheckPr1','<a href="#" onClick="CheckClick();"><img src="layout/nosc/check.gif" border="0"></a>')">TEXT</a></div>'

    Viele Grüße

    Antje

    1. »»  variable='<div align="right"><font face="Arial,Helvetica,sans-serif" size="1"><a href="#" name="Prozessor1" onClick="updateInhalt('CheckPr1','<a href="#" onClick="CheckClick();"><img src="layout/nosc/check.gif" border="0"></a>')">TEXT</a></div>'

      geht leider auch nicht, das Problem:

      durch die Übergabe des Links verschachtelst du die ganze Sache noch mehr.
      Mein Vorschlag wäre, alles fein säuberlich in Variable zu speichern und aus den Funktionsaufruf den neuen Link zu basteln. Alternativ: Arbeit mit versteckten Layer, die dann jeweils einen unterschiedlichen z-index und Visibilität kriegen.

      Viele Grüße

      Antje

  3. Hi Bug!

    Vielleicht maskierst Du die <> mal mit \ und benutzt statt der doppelten Anfuehrungszeichen " einfache ' (und umgekehrt). Wenn ich mich nicht irre, dann sind einfache ' nicht wirklich korrekter HTML code.

    Moeglicherweise bewirkt das etwas, vielleicht auch nicht, zumal aus Deiner knappen Beschreibung wahrscheinlich nur besonders gute Hellseher das wirkliche Problem erkennen konnten.

    Dann steht da ungefaehr (mehrfach maskiert, damit der Parser nicht denkt, die in den Anfuehrungszeichen stehenden Anfuehrungszeichen wuerden die am Anfang schliessen)

    variable='<div align="right"><font face="Arial,Helvetica,sans-serif" size="1"><a href="#"
    name="Prozessor1"

    onClick="updateInhalt("CheckPr1",

    "<\a href=\"#\"

    onClick=\"CheckClick();\">

    <img src=\"layout/nosc/check.gif\" border=\"0\"></a>\")">

    TEXT</a></div>"

    Das sieht schlimm aus und ist wahrscheinlich auch noch falsch. Aber wenn Du Anfuehrungszeichen in Anfuehrungszeichen in Anfuehrungszeichen verschachteln willst (was natuerlich nicht ganz trivial ist), dann muss das mehrfach maskiert werden.

    Meiner Meinung nach muss der Fehler hier liegen:

    onClick='updateInhalt('    
    <--- hier ist der Inhalt von on click fuer den Parser/Interpreter wahrscheinlich schon wieder vorbei --->
    CheckPr1','<a href='#' onClick='CheckClick();'><img
    src='layout/nosc/check.gif' border='0'></a>')'

    Leider faellt mir gerade nicht ein, wo ich mein Auto-String- Maskierungsscript habe :-(

    Sanfte Gruesse,

    Bio

  4. hallo,

    diese zeile macht mich fertig. der fehler mus in dieser zeile sein..

    variable="<div align='right'><font face='Arial,Helvetica,sans-serif' size='1'><a href='#' name='Prozessor1' onClick='updateInhalt('CheckPr1','<a href='#' onClick='CheckClick();'><img src='layout/nosc/check.gif' border='0'></a>')'>TEXT</a></div>"

    Hallo Käferchen,

    eigentlich ist es leicht ersichtlich, wo der Wurm drin ist, aber aufzuschreiben wird vermutlich schwierig. Dein erstes onClick geht nur bis "onClick='updateInhalt('" dann machst Du den String schon wieder zu. Du mußt diese Hochkommate unescapen, also etwa:

    onClick='updateInhalt("Checkpr1","<a href='#' onClick='CheckClick();'><img src='layout/nosc/check.gif' border='0'</a>")'

    Viel Spaß noch beim Friemeln. Ach ja, Dein HTML ist unter aller Sau (Font-Tag(!), der noch nicht einmal zugeht ...)

    Grüße

    Steve

  5. hallo,

    also der fehler war, dass html angaben in einfachen hochkommas standen. ich habe jetzt alles in doppelten gesetzt bis auf die, die js befehle ausführen z.b.: <a href="#" onClick="function('wertA','wertB');> ....

    eigentlich selbstverständlich nur wenn man so ne blöde zeile n paar stunden vor sich hat sieht man nix mehr :(
    aber nun gehts und die zeile ist jetzt doppelt solang:)

    danke
    BuG.