Daniel Schennach: Eingabewert überprüfen mit hidden fields

Hallo,

Ich überprüfe mit einem Javascript eine Objektnummer (ob ein Wert angegeben wurde oder nicht) sieht so aus:

1 <script Language="JavaScript">
2 <!--
3 function Form1_Validator(theForm)
4{
5
6      if (theForm.titel.value == "")
7  {
8    alert("Geben Sie bitte einen Titel ein.");
9    theForm.titel.focus();
10    return (false);
11  }
12
13      if (theForm.objektnummer.value == "")
14  {
15    alert("Geben Sie bitte eine Objektnummer ein.");
16    theForm.objektnummer.focus();
17    return (false);
18  }
19
20 updateRTE('beschreibung');
21  return(true);
22 }
23 //-->
24 </script>

Nun soll ich auch noch überprüfen, ob die Objektnummer schon existiert. Das ganze spielt sich in einer ASP Umgebung ab. Ich könnte auf der Seite auf die ich Post leicht die Abfrage einbauen, ob die Objektnummer existiert und dann (wenn Objektnummer vorhanden) mittels response.end und Javascript den User zurückschicken. Das Dumme ist nur, dass dann wieder alle Bildfelder zum Bildupload neu gefüllt werden müssen.

Ich habe also hidden fields eingebaut die dynamisch generiert werden und alle "objektnummer" heißen. Der Wert sind alle Objektnummern. 1 pro Feld.

Wie chekci ich jetzt mit Javascript beim Post ab, ob die Objektnummer schon vergeben ist?

Irgendwie steh ich momentan auf dem Schlaucb.

Danke

  1. Hallo Daniel,

    Ich habe also hidden fields eingebaut die dynamisch generiert werden und alle "objektnummer" heißen.

    Ist das nicht etwas viel overhead? Mit document.getElementsByName("objektnummer")[] könntest du zwar nacheinander auf alle Inhalte zugreifen, aber warum nicht nur _ein_ Feld mit allen Objektnummern und mit indexOf() auf das Vorhandensein prüfen.

    Ich könnte auf der Seite auf die ich Post leicht die Abfrage einbauen, ob die Objektnummer existiert

    Musst du das nicht sowieso? Unabhängig von der javascript Prüfung.

    Grüße,

    Jochen

    --
    Heute schon gescribbelt?
    Scribbleboard
    1. hi,

      warum nicht nur _ein_ Feld mit allen Objektnummern und mit indexOf() auf das Vorhandensein prüfen.

      Weil indexOf("13") auch bei "112,113,114" einen Treffer liefern würde.

      gruß,
      wahsaga

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

        Weil indexOf("13") auch bei "112,113,114" einen Treffer liefern würde.

        hmm, stimmt. Aber das sind vernachlässigbare Unschärfen ;-)

        Jochen

        --
        Heute schon gescribbelt?
        Scribbleboard
        1. Weil indexOf("13") auch bei "112,113,114" einen Treffer liefern würde.

          hmm, stimmt. Aber das sind vernachlässigbare Unschärfen ;-)

          Hallo Jochen,

          ich bins nochmals. Alle Objektnummern müssen fünfstellig eingegeben werden. (internes Zuordnungssystem). Also klappt das prima.

          Danke nochmals

          Daniel

      2. Weil indexOf("13") auch bei "112,113,114" einen Treffer liefern würde.

        Hallo wahsaga,

        danke für den Hinweis. Da aber alle Objektnummern fünfstellig sind (internes Zuordnungssystem) kann es dazu nicht kommen. Habe mich also für die indexOF() entschieden.

        Danke sagt
        Daniel

    2. Ist das nicht etwas viel overhead? Mit document.getElementsByName("objektnummer")[] könntest du zwar nacheinander auf alle Inhalte zugreifen, aber warum nicht nur _ein_ Feld mit allen Objektnummern und mit indexOf() auf das Vorhandensein prüfen.

      Hallo Jochen,

      habe alle Objektnummern in ein Feld zusammengefasst und überprüfe nun mit indexOf().
      Funktioniert Prima.

      Danke sagt
      Daniel

  2. Moin!

    Nun soll ich auch noch überprüfen, ob die Objektnummer schon existiert. Das ganze spielt sich in einer ASP Umgebung ab. Ich könnte auf der Seite auf die ich Post leicht die Abfrage einbauen, ob die Objektnummer existiert und dann (wenn Objektnummer vorhanden) mittels response.end und Javascript den User zurückschicken. Das Dumme ist nur, dass dann wieder alle Bildfelder zum Bildupload neu gefüllt werden müssen.

    Wenn du deine Skriptstruktur schlecht gestaltest, dann ist das der Fall, ja.

    Informiere dich mal über die Wirkungsweise des "Affenformulars". Wenn du diesen Mechanismus dahingehens abänderst bzw. erweiterst, dass du dem Benutzer im Fehlerfall nur noch mal die Felder vorsetzt, die ausgefüllt werden müssen bzw. falsch gefüllt wurden, sollte sich das Problem weit weniger aufwendig lösen lassen, auch ohne Javascript.

    Alternativ wäre natürlich auch eine Live-Formularprüfung mittels XMLHttpRequest denkbar.

    - Sven Rautenberg

    --
    "Love your nation - respect the others."