Bernd: Elementnummer ermitteln

Hallo zusammen,

man kann ja z.B. mit document.forms[0].elements[i].name den Namen eines bestimmten Elements des Formulars auslesen. Ich hab jedoch den Namen des Elements und möchte die dazugehörige Nummer ermittlen. Geht das mit JS?

Vielen Dank
Bernd

  1. Hi,

    Ich hab jedoch den Namen des Elements und möchte die dazugehörige Nummer ermittlen. Geht das mit JS?

    wenn der Name eindeutig ist: sicher. Einfach durchzählen, bist Du das Element gefunden hast.

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. wenn der Name eindeutig ist: sicher. Einfach durchzählen, bist Du das Element gefunden hast.

      Cheatah

      Der Name ist eindeutig. Aber das mit dem durchzählen ist nicht so der hit. Das sind so ca. 5000 Elemente, was das Formular hat und würde ewig brauchen, bis es fertig ist. Gibts noch andere Möglichkeiten?

      Gruss
      Bernd

      1. Hi,

        Das sind so ca. 5000 Elemente

        wow! Wer fuellt die denn aus?

        Ansonsten, wofuer brauchst Du die Nummer, wenn sich die Referenzierung ueber den Namen viel eindeutiger erledigen laesst - naemlich unabhaengig von der Position?

        Gruesse  Joachim

        1. Hi,

          Das sind so ca. 5000 Elemente
          wow! Wer fuellt die denn aus?

          Ansonsten, wofuer brauchst Du die Nummer, wenn sich die Referenzierung ueber den Namen viel eindeutiger erledigen laesst - naemlich unabhaengig von der Position?

          Gruesse  Joachim

          Folgendes Problem:
          ich habe Selectboxen, die wie folgt aussehen:
          <select name="cart_value[08887277][Basic]">
          <select name="cart_value[08887277][URL]">
          <select name="cart_value[08887277][temp1]">

          Die Nummer (z.B. "08887277") und "Basic" stehen immer fest. Aber "URL" und "temp1" wurden durch PHP dynamisch generiert. D.h., sie sind nicht bei jedem Aufruf vorhanden oder können andere Namen haben.

          <select name="cart_value[08887277][Basic]">
          <select name="cart_value[08887277][???]">
          <select name="cart_value[08887277][???]">

          Ich fange die Änderungen der "Basic-Selectbox" durch "onChange" ab. Bei einer Änderung muss ich den Index aller anderen Selectboxen mit der gleichen Nummer auf den ersten Eintrag setzten. Da aber die Namen nicht komplett bekannt sind, such ich jetzt nach einer Lösung. Jetzt wollt ich die Elementnummer von <select name="cart_value[08887277][Basic]"> auslesen und mit Hilfe dieser Nummer die restlichen Felder, die dazugehören ansteuern.

          Gruss
          Bernd

          1. Hi,

            Die Nummer (z.B. "08887277") und "Basic" stehen immer fest. Aber "URL" und "temp1" wurden durch PHP dynamisch generiert. D.h., sie sind nicht bei jedem Aufruf vorhanden oder können andere Namen haben.

            Du sagtest doch, die Namen seien bekannt?
            Ansonsten kannst Du mit typeof ueberpruefen, ob irgendwas string "object" oder string "undefined" ist. Wenn Du also weisst, dass es bei cart_value[08887277] maximal type1-10 geben kann, koenntest Du das Vorhandensein mit if(typeof ([moegliche_reverenz]) != "undefined") pruefen. Ansonsten bleibt Dir nur durch alles durchzuloopen.

            Gruesse  Joachim

          2. Folgendes Problem:
            ich habe Selectboxen, die wie folgt aussehen:
            <select name="cart_value[08887277][Basic]">
            <select name="cart_value[08887277][URL]">
            <select name="cart_value[08887277][temp1]">

            Die Nummer (z.B. "08887277") und "Basic" stehen immer fest. Aber "URL" und "temp1" wurden durch PHP dynamisch generiert. D.h., sie sind nicht bei jedem Aufruf vorhanden oder können andere Namen haben.

            <select name="cart_value[08887277][Basic]">
            <select name="cart_value[08887277][???]">
            <select name="cart_value[08887277][???]">

            Ich fange die Änderungen der "Basic-Selectbox" durch "onChange" ab. Bei einer Änderung muss ich den Index aller anderen Selectboxen mit der gleichen Nummer auf den ersten Eintrag setzten. Da aber die Namen nicht komplett bekannt sind, such ich jetzt nach einer Lösung. Jetzt wollt ich die Elementnummer von <select name="cart_value[08887277][Basic]"> auslesen und mit Hilfe dieser Nummer die restlichen Felder, die dazugehören ansteuern.

            Hier ist nicht ganz klar was du meinst, also in welchem Bezug welche Elemente stehen.
            Willst du in er gleichen Selectbox andere Elemente anwählen oder stehen in einer anderen Box Elemente, die im Zusammenhag mit der ersten stehen?

            Aus deiner Erläuterung, rate ich mal, das dir es evtl. hilft, wenn du die relevanten Teile aus dem Namen rausfilterst, also url und tmpl, und diese dann wieder mit der entsprechenden Nummer zusammenbaust, oder hab ich das falsch verstanden?

            Struppi.

          3. gruss Bernd,

            Das sind so ca. 5000 Elemente

            Folgendes Problem:
            ich habe Selectboxen, die wie folgt aussehen:
            <select name="cart_value[08887277][Basic]">
            <select name="cart_value[08887277][URL]">
            <select name="cart_value[08887277][temp1]">

            Die Nummer (z.B. "08887277") und "Basic" stehen immer fest. Aber
            "URL" und "temp1" ... sind nicht bei jedem Aufruf vorhanden oder
            können andere Namen haben.

            <select name="cart_value[08887277][Basic]">
            <select name="cart_value[08887277][???]">
            <select name="cart_value[08887277][???]">

            Ich fange die Änderungen der "Basic-Selectbox" durch "onChange" ab.

            sehr schoen, dann liegt hier ja auch der loesungsansatz - gib
               Deiner wie auch immer genannten onchange-funktion einfach den
               elementnamen mit:  onchange="yourFunction(.., this.name, ..)";

            jetzt extrahierst Du mit methoden Deiner wahl wie z.b.
               "String.indexOf" oder "RegExp.test(String)" die fuer
               eine elementgruppe gleichlautende schluesselnummer;
               die bildungsvorschrift fuer die namen weiterer moeglicher
               elemente dieser gruppe ist Dir bekannt - auf existenz
               dieser elemente pruefst Du dann mit:

            if (document.forms["formName"].elements["buildName"]) {
                 //weitere anweisungen;
               }

            fertig - tschoe - peterS. - pseliger@gmx.net

            --
            sh:| fo:) ch:? rl:| br:& n3:} n4:# ie:| mo:{ va:| de:[ zu:] fl:) ss:) ls:& js:)