Eingabewert überprüfen mit hidden fields
Daniel Schennach
- javascript
0 Maxx0 Sven Rautenberg
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
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
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
Hallo,
Weil indexOf("13") auch bei "112,113,114" einen Treffer liefern würde.
hmm, stimmt. Aber das sind vernachlässigbare Unschärfen ;-)
Jochen
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
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
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
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