Mit Button Formular einblenden - Javascript geht nicht?

Hallo liebes Forum,

ich würde gerne im Tab der Bewertungen das Formular erst mit einem Klick auf einen Button “Bewertung schreiben” einblenden.

Der Code sieht wie folgt aus und funktioniert auch ohne Probleme im Tryit Editor. Der Block wird mit dem Button jeweils ein oder ausgeblendent.

Komischerweise funktioniert dies jedoch nicht in der /frontend/detail/tabs/ comment.tpl

Ergänzung: Mobile funktioniert es, am Desktop jedoch nicht.

Wenn ich eine andere Aktion in der Funktion vom Button ausführe wird diese auch richtig umgesetzt (Seite neu laden oder E-Mail Programm öffnen)
Die Funktion zum ein und ausblenden des divs jedoch nicht.

Hat jemand eine Idee woran es liegen könnte?

Vielen Dank!

	Schreibe eine Bewertung
	
	
	
	{* Publish product review *}
    {block name='frontend_detail_comment_post'}
        
            {include file="frontend/detail/comment/form.tpl"}
        
    {/block}
	
	
	
	

		
function schreiben() {
  var xbe = document.getElementById("bewertunganzeigen");
  if (xbe.style.display === "none") {
    xbe.style.display = "block";
  } else {
    xbe.style.display = "none";
  }
}

 

Hi, also ich habe das etwas anders umgesetzt. Wenn offen, dann offen.

anzeigen

Kann es ggf sein, dass dein javascript ein literal fehlt?

@brettvormkopp schrieb:

Hi, also ich habe das etwas anders umgesetzt. Wenn offen, dann offen.

anzeigen

Kann es ggf sein, dass dein javascript ein literal fehlt?

Hi, mit deinem Code funktioniert es bei mir auch aber leider auch nur mobile. 

literal habe ich wie folgt im Code:

{literal}

		
function schreiben() {
  var xbe = document.getElementById("bewertunganzeigen");
  if (xbe.style.display === "none") {
    xbe.style.display = "block";
  } else {
    xbe.style.display = "none";
  }
}
	

{/literal}

 

Kann ich nur raten. Ggf ist die Bewertung nicht aktiviert oder es lädt, aber keine Bewertung vorhanden? Muss man sich live ansehen.

Hm, ich weiß nicht so recht ob das mit dem einfachen ein- und ausblenden vom DIV „bewertunganzeigen“ schon ausreicht. Das eigentliche Formular steckt ja noch in einem Container der separat durch JS aktiviert wird. Selbst wenn das DIV „bewertunganzeigen“ aktiv ist, heißt das noch noch lange nicht, dass der Inhalt der Bewertung dies auch ist.

 

@R4M schrieb:

Hm, ich weiß nicht so recht ob das mit dem einfachen ein- und ausblenden vom DIV “bewertunganzeigen” schon ausreicht. Das eigentliche Formular steckt ja noch in einem Container der separat durch JS aktiviert wird. Selbst wenn das DIV “bewertunganzeigen” aktiv ist, heißt das noch noch lange nicht, dass der Inhalt der Bewertung dies auch ist.

 

Hi, ich glaube du hast etwas falsches vor Augen.

Der Button zeigt nicht die Bewertungen selbst an sondern das Formular um eine zu schreiben.

Auf dem Desktop (Bild 1) passiert beim Klick auf dem Button nichts.

In der Mobil-Version (Bild 2 & 3) geht beim klicken des Buttens das Formular auf.

Mir ist leider rätzelhaft warum dies nur das der Mobile Version passiert.

Vielen Dank für eure Mühe!!

 #detail--product-reviews hat noch ein display: none, kann man ja rausnehmen. Ansonsten habe ich das in 3 shops am laufen. Müsste man sich live anschauen

@brettvormkopp schrieb:

#detail–product-reviews hat noch ein display: none, kann man ja rausnehmen. Ansonsten habe ich das in 3 shops am laufen. Müsste man sich live anschauen

Falls du einmal schauen möchtest hier der Link zu einem Artikel mit Bewertungen:

https://skaden.de/kategorie-1/7/bora

 

Das kann so nicht gehen, du das hast dein Script wahlos irgendwo eingebunden. Das muss aus diesem Tab raus. In der Mobilansicht wird das anders gesteuert, deswegen geht dort auch der Button. Aber bei Desktop hast du die TAB-Steuerung!!! Und ich vermute ganz stark, dass es daran liegt. Legt deine Function schreiben() an eine andere Stelle, die nicht verändert wird. Eigentlich gehört soetwas in eigene Theme.

@R4M schrieb:

Das kann so nicht gehen, du das hast dein Script wahlos irgendwo eingebunden. Das muss aus diesem Tab raus. In der Mobilansicht wird das anders gesteuert, deswegen geht dort auch der Button. Aber bei Desktop hast du die TAB-Steuerung!!! Und ich vermute ganz stark, dass es daran liegt. Legt deine Function schreiben() an eine andere Stelle, die nicht verändert wird. Eigentlich gehört soetwas in eigene Theme.

Hi, vielen Dank für deine Mühe.

Ich habe das Script an diversen Stellen getestet die sich nicht verändern, Header, Footer, BuyBox. Bei allen funktioniert wieder nur die Mobile Version. Es liegt also auf jeden Fall an den Tabs.

Werde als Lösung einfach die Tabs rausschmeißen und die Bewertungen unter die Beschreibung setzen.

Besten Dank für eure Hilfe!

Gruß