Gregor: Rückkehr in ein HTML-Formular?

Hallo zusammen, zur Zeit lerne ich auf Perl "um", wer kann mir bei diesem Problem helfen:
Es soll aus einem Formular heraus ein Perl-Script aufgerufen werden (das ist soweit kein Problem). Bei Feststellen eines Fehlers soll nicht eine Fehlerseite in pl erstellt werden oder eine vorgefertigte html-Seite aufgerufen werden SONDERN
a) eine Fehlermeldung ausgegeben werden
b) zu der Seite zurückgekehrt werden von der aus das Script aufgerufen wurde und möglichst direkt an die richtige Stelle und möglichst das entsprechende Feld auch noch den Fokus erhalten.
Beispiel:
Das Formular sieht unter anderem die Eingabe eines Alters vor.
Das Script wird aufgerufen und stellt fest, daß alles ok ist, aber das Alter nicht angegeben wurde.
Es soll nun den Hinweis bringen, daß dies so ist und anschließend direkt an die entsprechende Stelle springen.
Wer weiß hierfür eine Lösung, wäre ich äußerst dankbar.
Für eine ähnliche Aufgabe hab ich sowas in Java-Script gelöst (was ich hier aber nicht anwenden möchte), wer sich darin auskennt wird sicher daraus auch erkennen, was ich mit Rücksprung genau zu dem Punkt meine, hier der Java-Sript Code zum ergänzenden Verständnis:
var str = parent.fensterrechts.formularname.feld1.value;
if (str == "") {
        alert("\nDas Feld xxx ist leer.\n\nDiese Angabe wird unbedingt benötigt.")
        parent.fensterrechts.formularname.feld1.select();
        parent.fensterrechts.formularname.feld1.focus();
        return false;
        }

  1. Hi,

    b) zu der Seite zurückgekehrt werden von der aus das Script aufgerufen wurde

    bei HTTP gibt es kein "vorher", deswegen ist Dein Vorhaben so nicht umsetzbar. Du musst eine _neue_ Seite erzeugen, welche Deinen Wünschen entspricht.

    und möglichst direkt an die richtige Stelle

    Was ist hiermit gemeint?

    und möglichst das entsprechende Feld auch noch den Fokus erhalten.

    Das ist mit Perl nicht lösbar. Allerdings kann ein entsprechender JavaScript-Code erzeugt werden, welcher - falls der User JavaScript aktiv hat - dies tut.

    Cheatah

  2. Hi,

    Es soll aus einem Formular heraus ein Perl-Script aufgerufen werden (das ist soweit kein Problem). Bei Feststellen eines Fehlers soll nicht eine Fehlerseite in pl erstellt werden oder eine vorgefertigte html-Seite aufgerufen werden SONDERN

    mit Perl _musst_ Du eine Seite erstellen, die eine Fehlermeldungen oder irgendetwas anderes zurückgibt. Am besten, Du generierst Dein Formular gleich in dem Perlscript und schickst es auch wieder an selbiges. Beim Auftreten eines Fehlers kannst Du dann Fehlermeldungen beim entsprechenden Feld ausgeben.

    b) zu der Seite zurückgekehrt werden von der aus das Script aufgerufen wurde und möglichst direkt an die richtige Stelle und möglichst das entsprechende Feld auch noch den Fokus erhalten.

    Wie schon Cheatah geschrieben hat, kannst Du einem bestimmten Feld nur den Fokus via JavaScript geben. Allerdings macht das wenig Sinn, wenn bei mehreren Feldern gleichzeitig Fehler auftreten.

    viele Grüsse
    Achim