Juergen: Uncaught ReferenceError: box is not defined

Hallo,

möchte einen string an eine jquery funktion übergeben.

dabei erhalte ich folgende Meldung die auf folgende Zeile verweist.

es geht dabei um die Übergabe des Werts "box-7-1" dieser wird zuvor auf der php-seite zusammengesetzt

Folgende Fehlermeldung "Uncaught ReferenceError: box is not defined" verweist auf folgenden PHP-Code

PHP-Code

$stringLi .='<li class="active"><a href="#box-'.$row->typeId.'" onclick="request('.$row->typeId.','.$row->typeGroup.',1, 1, 0,0,'.divBoxId.')"  data-toggle="tab">'.$row->type.' &nbsp;										<span class="badge badge-info">'.$count.'</span>'.$activecount.'</a></li>';

Folgende Fehlermeldung "Uncaught ReferenceError: box is not defined" verweist auf folgende html-ausgabe HTML Ausgabe

<li class="active"><a href="#box-7" onclick="request(7,1,1, 1, 0,0,box-7-1)"  data-toggle="tab">all &nbsp;<span class="badge badge-info">2</span>&nbsp;<span class="badge badge-success">2</span></a></li>

in der jquery funktion möchte ich dann diesen Wert "box-7-1" entsprechend weiter verarbeiten

hier der Code-Ausschnitt

function request(typeId, typeGroup, week, type,safeFlush, tr_index, divBoxId) { 

	var radionr = "radio-"+week;
	var newweek = week + 1;

   if (type == 1){ //aller erste Zeile laden
				var infobox = '#infobox-'+typeId;
				//var tab = "#box-"+typeId;

				var tab = "#box-"+divBoxId; 

Folgende Meldung erhalte ich nun

Uncaught ReferenceError: box is not defined

passt da was mit dem String box-7-1 nicht?

Grüße Jürgen

  1. Tach!

    passt da was mit dem String box-7-1 nicht?

    Das ist kein String(literal), das ist eine (nicht vorhandene) Variable und zwei Subtraktionen. Ein Stringliteral muss in Anführungszeichen eingefasst sein.

    dedlfix.

    1. Tach!

      passt da was mit dem String box-7-1 nicht?

      Das ist kein String(literal), das ist eine (nicht vorhandene) Variable und zwei Subtraktionen. Ein Stringliteral muss in Anführungszeichen eingefasst sein.

      dedlfix.

      Hi... ja, das wat jetzt Zufall nach dem y-mal drauf gucken bin ich drauf gekommen

      Danke für die Zusatzinfo

      Grüße Jürgen

  2. Ich glaube der Fehler lag hier

    onclick="request('.$row->typeId.','.$row->typeGroup.',1, 1, 0,0,'.divBoxId.')"
    

    ich habe das so gelöst... weiß nicht ob dies so korrekt ist, aber der Fehler ist weg

    onclick="request('.$row->typeId.','.$row->typeGroup.',1, 1, 0,0,\''.divBoxId.'\')"
    
    1. LOL - man hat immer eine Sorte Anführungszeichen zu wenig :)

      Aber man muss nicht jede Logik in eine Zeile quetschen, wir programmieren hier schließlich nicht mit C oder APL.

      Du kannst die Apostrophe direkt beim Befüllen der divBoxId Variablen hinzufügen, dann hast Du im Erzeugen des onClick Eventhandlers ein Problem weniger und der Code wird verständlicher. Meine ich.

      Gruß Rolf

      1. Tach!

        Du kannst die Apostrophe direkt beim Befüllen der divBoxId Variablen hinzufügen, dann hast Du im Erzeugen des onClick Eventhandlers ein Problem weniger und der Code wird verständlicher. Meine ich.

        Kann man machen, ist technisch dasselbe. Aber man sollte das doch lieber lassen. Die Anführungszeichen gehören nicht zum Wert, sondern sind Teil der Umgebung, in die er eingefügt wird. Also sollten sie auch in dieser Umgebung sichtbar sein und nicht den Wert selbst quasi verunreinigen.

        dedlfix.

      2. @@Rolf b

        LOL - man hat immer eine Sorte Anführungszeichen zu wenig :)

        Nö, eigentlich nicht.

        Es sein denn, man hat Markup im PHP-Code. Was man aber nicht haben sollte.

        Sondern andersrum: PHP-Code im Markup.

        LLAP 🖖

        --
        “You might believe there are benefits for the developer, but first of all, you should put those behind the interest of the user.” —Stefan Tilkov
        Selfcode: sh:) fo:} ch:? rl:) br:> n4:& va:| de:> zu:} fl:{ ss:| ls:# js:|