Linuchs: <button> in <p>: obj.parentElement is null

Beitrag lesen

problematische Seite

Hallo Rolf,

erstmal einen besonderen Dank an dich. Ich fühle mich von der SELF-Community bestens beraten, aber du bist immer dabei, als ob wir Kollegen und Freunde wären. Ich sitze hier allein, und diese virtuelle Freundschaft weiß ich sehr zu schätzen, obwohl wir uns nie persönlich begegnet sind. Vielleicht sehen wir uns in Mannheim?

Was tut setCookie()?

Mit Javascript können drei Lesezeichen erzeugt werden in Form von Cookies. Wenn remso.eu aufgerufen wird, wird dem Leser „sein“ gewählter Ort, Veranstaltungstyp und Verein als Link vorgeschlagen.

Ich könnte auch die jeweils nächste(n) Veranstaltung(en) anzeigen.

function setCookie( obj, name, value ) {
// obj    => button.parent fuer Rueckmeldung
// name   => my_ORT, my_TYP, my_VIP
// value  => my_ORT_id, ... wenn leer, dann loeschen
  var d = new Date();
  if ( value == "loeschen" || value < " " ) {
    d.setTime(d.getTime() - (24*60*60*1000));     // 1 Tag Vergangenheit
    obj.parentNode.innerHTML  = "###geloescht###deleted###verwijderd###";
  } else {
    d.setTime(d.getTime() + (90*24*60*60*1000));  // 90 Tage aufbewahren
    obj.parentNode.innerHTML  = "###gespeichert###saved###opgeslagen###";
  }
  var expires = "expires="+d.toUTCString();
  var cookie_string = name + "=" + value + ";" + expires;     // fuer Host remso.eu
  document.cookie   = cookie_string;
}

Warum hast Du einen click-Handler auf dem Body, wenn Du den click auf den Button separat abfängst?

Per Klick kann in Tabellen <tr> und Containern class=position eine Position farbig hinterlegt werden, bevor sie in einem neuen Tab bearbeitet wird. Z.B. eine Adresse, ein Event.

Nach erfolgter Bearbeitung und Rückkehr kann gezielt die nächste Position bearbeitet werden. Die Markierung von Positionen habe ich nie bei Listen oder Tabellen gesehen, sie ist (vermutlich) eine „Erfindung“ von mir.

Zusatznutzen: Durch Klick in eine freie Fläche (nicht auf einen Link) kann man Positionen zählen. Rechts unten der Counter angeklickter Positionen.

Hast du den Verdacht, dass der beschriebene Standard-Klick mit dem button-Spezialklick konkurriert?

Zwecks Test lasse ich beim Standard-Klick in der Konsole tagName des geklickten HTML-Elements und parent.tagName anzeigen. Weil das fehlert, wird JS abgebrochen, die Funktion setCookie nicht aufgerufen.

Ich wiederhole mich: Ich verstehe nicht, warum Javascript den Elter von <button> nicht erkennt.

Linuchs