Ergebnis 1 bis 6 von 6
  1. #1
    boorberg ist offline Grünschnabel
    registriert
    23-09-2011
    Beiträge
    3

    Question Code vereinfachen

    Liebe Forenmitglieder,

    ich habe nach längerem Tüfteln (mache gerade meine ersten JS-Schritte) folgenden Code gefunden, der auch funktioniert. Aber ich denke, es müsste noch eine einfachere Variante geben, die Formularfelder daraufhin zu prüfen, ob nur Zahlen eingegeben wurden.

    Im Formular selbst sind mehrere Textfelder angelegt mit:
    <INPUT TYPE=\"text\" NAME=\"element[$i]\" VALUE=\"\" SIZE=3 MAXLENGTH=2>

    Das Skript sieht so aus:
    <script type="text/javascript">
    function CheckInput () {

    var frm_elements = document.Formular.elements["element[1]"];
    if (isNaN(frm_elements.value)) {
    alert ("Nur Zahlen!");
    return false;
    }

    var frm_elements = document.Formular.elements["element[2]"];
    if (isNaN(frm_elements.value)) {
    alert ("Nur Zahlen!");
    return false;
    }

    var frm_elements = document.Formular.elements["element[3]"];
    if (isNaN(frm_elements.value)) {
    alert ("Nur Zahlen!");
    return false;
    }

    return true;
    }
    </script>

    Da es sich um insgesamt 40 solcher Formularfelder handelt, ist der Code recht lang, auch wenn ich ihn mit php erzeuge.

    Gibt es da eine kürzere Variante, die evtl mit einer Schleife das gesamte Array prüft ?

    Vielen Dank für Eure Tipps
    Stephan

  2. #2
    Avatar von jspit
    jspit ist offline Lounge-Member
    registriert
    19-06-2009
    Beiträge
    1.710

    AW: Code vereinfachen

    Ich würde alle Namen in ein Array packen ( var NumFiedNames = ["Name1","Name2"] und in einer Schleife alle abtesten.

  3. #3
    boorberg ist offline Grünschnabel
    registriert
    23-09-2011
    Beiträge
    3

    AW: Code vereinfachen

    Vielen Dank für die Antwort!

    Die Namen/Elemente sind aus php und da bereits in einem Array. Kann man das übernehmen?

    Ich weiss nämlich an der Stelle des Skriptes noch nicht, wie viele Elemente es genau sind.

    Und wie würde die Schleife aussehen ? So?

    for (var i=1;i<20;i++){
    var frm_elements = document.Formular.elements["element[i]"];
    if (isNaN(frm_elements.value)) {
    alert ("Nur Zahlen!");
    return false;
    }

    das funktionert leider nicht :-/

  4. #4
    Avatar von jspit
    jspit ist offline Lounge-Member
    registriert
    19-06-2009
    Beiträge
    1.710

    AW: Code vereinfachen

    Die Fehlerconsole (Wo finde ich die Fehlerkonsole?) dürfte Fehler anzeigen.
    Eine javascript-variable in "" wird nicht substituiert. Du mußt dir dein string zusammenbauen.
    Und bitte auch Codetags benutzen, ist besser zu lesen, wie hier:
    Code:
    var frm_elements = document.Formular.elements["element["+ i +"]"];

  5. #5
    boorberg ist offline Grünschnabel
    registriert
    23-09-2011
    Beiträge
    3

    AW: Code vereinfachen

    Vielen Dank für die Hilfe, jspit !!!

    Die Fehlerkonsole und der zusammengebaute String waren die entscheidenden Hinweise mit denen es jetzt funktioniert !

  6. #6
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.649

    AW: Code vereinfachen

    Nur so nebenbei: das ".elements" is überflüssig.

Ähnliche Themen

  1. Antworten: 8
    Letzter Beitrag: 05-03-2011, 16:34
  2. Javascript vereinfachen
    Von engelolli im Forum JavaScript
    Antworten: 1
    Letzter Beitrag: 25-02-2008, 15:21
  3. Script vereinfachen
    Von hacke im Forum JavaScript
    Antworten: 2
    Letzter Beitrag: 07-09-2005, 11:49
  4. Antworten: 0
    Letzter Beitrag: 14-10-2004, 13:30
  5. vereinfachen von mehreren if abfragen mit versch. variabeln
    Von hupfer im Forum Serverseitige Programmierung
    Antworten: 0
    Letzter Beitrag: 03-06-2002, 15:58

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •