Zum Inhalt springen

mg_help Entwicklungsproblem

Erstellt am 22. Dezember 2008 · 6 Antworten · letzte Antwort am 22. Dezember 2008

Tags: Frage

mad1200 ·

Hallo,
ich bin Autor der extension mg_help.
In letzter Zeit höre ich von einigen Usern, die die Extension benutzen wollen, daß beim Editieren, bzw. Anlegen von Tickets keine Buttosn zu sehen sind.
Das aber nur beim IE, im Mozilla sind sie zu sehen.
Die aktuellste Version habe ich zu Hause mit Typo3 4.1 und PHP 4.3.10-1.dotdeb.0 am Laufen. In der Firma, wo ich arbeite läuft Typo3 4.1.7 mit PHP 5.2.5. Bei beiden Installationen ist alles wunderbar.
Jemand, der sich ebenfalls die Extension installiert hat, hat Typo3 version 4.2.1 and PHP version 5.2.5 und es funktioniert. Ich möchte es zu Demozwecken auch online zeigen, und auf meinem Webspace läuft Typo3 4.1.7 mit PHP 5.2.6 und es geht nicht.

Zum Ablauf im Programm:
Ich fülle irgendwo die Marker für ein Template:

$markerArray['###SYMBOLS###'].=$this->makeActions();

Hie die Funktion:

function makeActions(){
        $content.='<script type="text/javascript">
                function setAction(strAction) {
                      actionField="'.$this->prefixId.'[action]";

                      document.getElementsByName(actionField)[0].value=strAction;

                    //    document.getElementById(actionField).value=strAction;
                        return true;
                }
                </script>';
        $content.=$this->CheckInput();
        return $content;
       }

Weiterer Aufruf aus dieser Funtion $this->CheckInput();

function CheckInput() {
         return '
              <script language="JavaScript" type="text/javascript">
              <!--
               function CheckInput() {
                 for (i=0; i<document.forms["ticketform"].elements.length; i="" if="" documentformsticketformelementsivalue="" documentformsticketformelementsiname="'
                            .$this-">prefixId.'[input][summary]" )
                    {
                      alert(unescape("'.$this->pi_getLL('forgottenFields').'"));
                      document.forms["ticketform"].elements[i].focus();
                      return false;
                    }
                    if (!document.forms["ticketform"].elements[i].value && document.forms["ticketform"].elements[i].name == "'
                            .$this->prefixId.'[input][category]" )
                    {
                      alert(unescape("'.$this->pi_getLL('forgottenCategory').'"));
                      document.forms["ticketform"].elements[i].focus();
                      return false;
                    }
                 }
                  return true;
               }
              // -->
              </script>
        ';
       }

Und hier das Formular, wo zum CheckInput verwiesen wird.

  $content.='<form action="'.$this-">pi_getPageLink($GLOBALS['TSFE']->id).'" name="ticketform"  enctype="multipart/form-data"  method="post" onSubmit="return CheckInput();">'
                                .'<div class="xy">'
                                .$this->cObj->substituteMarkerArrayCached($templFile,$markerArray,$markerSubArray)
                                .'</div></form>';

Fülle ich den Marker nicht mit $this->makeActions(), werden wenigstens die Buttons angezeigt.

Ich vermute mal, das es an den Javascripts liegt, aber da bin ich nicht so fit drin. Weitere Vermutung ist die PHP Version.
Vielleicht ist hier ja ein Experte, der Rat hat.

Gruß
Matthias

just2b ·

Hallo,

besser wärs du hättest das irgendwo ausführend online, ich baus nämlich nicht nach.

generell würde ich JS erst dann ausführen lassen, wenn die Seite *ganz* geladen ist!

georg

mad1200 ·

Georg,

das war passend. Javascript an richtiger Stelle laden.
Aber falls Du mal sehen möchtest (Daten per PM).

Danke
Matthias