konsument: alert richtig einbinden

Hallo Leute,

ich arbeite gerade an einer Site mit CMSMS. Nun habe ich hier ein Kontaktformular Modul was ich gerne ein klein wenig modifizieren möchte.
Und zwar wird beim validierungsvorgang beim abschicken des Formulars, die entsprechenden Hinweise wenn ein Feld z.B. leer ist, direkt ins Template geschrieben. Allerdings würde ich diese gerne als alert-Fenster ausgeben lassen.

das Validierungs-Script schaut so aus:

function Validate()
  {
    $validated = true;
    $message = '';
    $formPageCount=1;
    $valPage = $this->Page - 1;
    for($i=0;$i<count($this->Fields);$i++)
      {
 if ($this->Fields[$i]->GetFieldType() == 'PageBreakField')
   {
     $formPageCount++;
   }
 if ($valPage != $formPageCount)
   {
     continue;
   }
 if (! $this->Fields[$i]->IsDisposition() &&
     $this->Fields[$i]->IsRequired() &&
     $this->Fields[$i]->HasValue() == false)
   {
     $message .= "<h4>".$this->module_ptr->Lang('please_enter_a_value',$this->Fields[$i]->GetName())."</h4>\n";
     $validated = false;
     $this->Fields[$i]->SetOption('is_valid',false);
   }
 else if ($this->Fields[$i]->GetValue() != $this->module_ptr->Lang('unspecified'))
   {
     $res = $this->Fields[$i]->Validate();
     if ($res[0] != true)
       {
  $message .= "<h4>". $res[1]."</h4>\n";
  $validated = false;
  $this->Fields[$i]->SetOption('is_valid',false);
       }
     else
       {
  $this->Fields[$i]->SetOption('is_valid',true);
       }
   }
      }
    return array($validated, $message);
  }

ich bin leider in einigen Selbstversuchen schon gescheitert. Habe bereits versucht in und um die Variable &message das alert zu plazieren - allerdings ohne erfolg.

mag mir mal bitte jemand damit helfen?

Viele Grüße

  1. hi,

    Habe bereits versucht in und um die Variable &message das alert zu plazieren - allerdings ohne erfolg.

    Aber einen Script-Bereich hast du dazu schon benutzt/ausgegeben, oder?

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. hi,

      Habe bereits versucht in und um die Variable &message das alert zu plazieren - allerdings ohne erfolg.

      Aber einen Script-Bereich hast du dazu schon benutzt/ausgegeben, oder?

      gruß,
      wahsaga

      was genau meinst du mit "Script-Bereich"? Brauch ich nun noch ein spezielles Script für alert? Ich dachte, man könnte es direkt in die übergeordnete Funkion einbinden.

      Sorry, ich bin nicht so fit in JS.

      1. hi,

        bitte zitiere sinnvoll!

        was genau meinst du mit "Script-Bereich"? Brauch ich nun noch ein spezielles Script für alert? Ich dachte, man könnte es direkt in die übergeordnete Funkion einbinden.

        Der gezeigte serverseitige Code lässt vermuten, dass in $message einfach nur HTML-Schnippsel gesammelt werden, die dann irgendwo im Dokument ausgegeben werden.

        Wenn du da jetzt einfach irgendwo ein "alert('blubb')" ransemmelst - dann hast du nachher wunderschön den _Test_ alert('blubb') in deinem Dokument stehen.

        Sorry, ich bin nicht so fit in JS.

        Selbst als Anfänger solltest du dich zumindest informieren können, wie man Javascript in HTML einbindet.
        http://de.selfhtml.org/javascript/intro.htm#javascriptbereiche

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
      2. Hi!

        was genau meinst du mit "Script-Bereich"? Brauch ich nun noch ein spezielles Script für alert? Ich dachte, man könnte es direkt in die übergeordnete Funkion einbinden.

        Scheinbar wird der Inhalt deiner Variablen $message später ausgegeben.
        Darin wird HTML-Code bzw. normaler Text enthalten sein.
        Wenn du aber JS-Code ausgeben willst und der auch ausgeführt werden soll, dann muß er innerhalb von <script type="text/javascript"></script> stehen.

        $message = "window.alert('test');"; // Ausgabe: window.alert('test');

        $message = "<script type="text/javascript">window.alert('test');</script>"; // Ausgabe: test in einem Alertfenster.

        Schöner Gruß,
        rob

        1. Wenn du aber JS-Code ausgeben willst und der auch ausgeführt werden soll, dann muß er innerhalb von <script type="text/javascript"></script> stehen.

          $message = "window.alert('test');"; // Ausgabe: window.alert('test');

          $message = "<script type="text/javascript">window.alert('test');</script>"; // Ausgabe: test in einem Alertfenster.

          Schöner Gruß,
          rob

          hi rob,

          vielen Dank, damit kann ich was anfangen. Zumindest ist es jetzt nachvollziebar wie und was ich machen muss.

          sag mal, bist du nicht auch der "rob" aus mgi?

          viele grüße

          1. Hi!

            sag mal, bist du nicht auch der "rob" aus mgi?

            Ja.

            Schöner Gruß,
            rob