Jogi: Formularfelder automatisch füllen

Hallo Leute,

habe folgendes Problem:

Ich habe 20 Eingabefelder.
Wenn ich in das erste Feld die Zahl '50' schreibe,
dann soll diese Zahl in den restlichen 19 Feldern
automatisch geschrieben werden.

Das Problem:

Wenn ich in das 10. Feld jetzt aber eine '60' schreibe,
dann soll diese '60' in die restlichen 10 Felder übernommen
werden, die ersten 10 Felder sollen aber weiterhin die Zahl
'50' beinhalten.

Also immer wenn sich die Zahl ändert, soll diese Änderung
in den restlichen noch verbleibenden Feldern übernommen werden.

Wie geht sowas?

Für Tipps wäre ich dankbar

Grüße

Jogi

  1. Hi Jogi,

    Das wäre gut mit onChange machbar.

    Hier mal der Link für onChange Events.

    http://de.selfhtml.org/javascript/sprache/eventhandler.htm#onchange

    Wenn du nicht weiter kommst, sag bescheid.

    Grüße Felix

  2. Hallo Jogi,

    (Frage vorne weg: Du bist aber nicht zufällig auch Berliner?)

    Wenn Du die Namen der einzelnen Textfelder durchdacht vergibst, ist das ein wahres Kinderspiel ;)

    <form>
       <input name='feld1'>
       <input name='feld2'>
       <input name='feld3'>
    [...]
       <input name='feld19'>
       <input name='feld20'>
    </form>

    Jedem Textfeld weist Du dann den Eventhandler onChange http://de.selfhtml.org/javascript/sprache/eventhandler.htm#onchange nach folgenden Schema zu:

    <input name='feldZAHL' onChange='mach(ZAHL)'>

    Dann definierst Du Dir noch eine Funktion:

    function mach(v)
       {
       var x=document.getElementsByName('feld'+v)[0].value
       for(i=v;i<21,i++)
          {
          document.getElementsByName('feld'+i)[0].value=x
          }
       }

    Das ganze würde auch mit http://de.selfhtml.org/javascript/objekte/elements.htm über eine Schleife funktionieren, aber da bin ich mir mit der richtigen Schreibweise unsicher.

    Durch for() werden jeweil alle Eingabefelder unterhabl der neuen Eingabe angesprochen werden. Daher hoffe ich, du kannst etwas damit anfangen.

    Gruß aus Berlin!
    eddi

    --
    Manchmal trifft es einen doch ganz unverhofft t86591:
    > '..."Vorläufig abgebrochen" ist ungefähr so sinnvoll formuliert, wie "einstweilig erschossen" oder "temporär verbrannt"...'
    Ich danke Sven für diese Erkenntnis - Gott, was habe ich gelacht ;)
    1. Hallo Jogi,
      Moinsen eddi,

      ich hätte da noch einen anderen ansatz. Ähnlich zu dem von Eddi, jedoch ein bisschen dynamischer bzw. einen bei dem bei veränderungen des Formulars das Script nicht so stark verändert werden muss...

      <form name="myForm">
      ...
      <input name="in_0" onChange="completeForm(this);">
      <input name="ups" onChange="completeForm(this);">
      <input name="in_2" onChange="completeForm(this);">
      ...
      <input name="irgendwas" onChange="completeForm(this);">
      ...
      </form>

      und hier das Script:

      <script type="text/javascript">
      function completeForm(obj)
      {
       var value = '';
       i = document.myform.length-1;

      while(i)
       {
        if(document.myform.elements[i].name != obj.name)
         document.myform.elements[i].value = obj.value;
        else
         break;

      i--;
       }
      }
      </script>

      Viele Grüße
      David

      1. Hallo,

        habe Script und Form kopiert aber es
        funzt nicht.
        Schreibe ins erste Feld was rein, aber die anderen Felder bleiben leer...

        KAnnst Du es mal online stellen?
        Ich weiss, ist etwas viel verlangt, aber
        1. bin ich Javascript-Rookie
        2. bin ich Ostfriese (wohne im schönen Wiesmoor bei Aurich)

        :-)

        Grüße

        Jogi

        1. Kein Problem,
          hier der Link: http://www.david-zacharias.de/selfhtml/intelli_form.html

          Greetz David

        2. hi,

          Ich weiss, ist etwas viel verlangt, aber

          1. bin ich Javascript-Rookie
          2. bin ich Ostfriese (wohne im schönen Wiesmoor bei Aurich)

          welche von beiden eigenschaften soll jetzt deiner meinung nach entschuldigen, dass du "keinen bock" hast, dich selbst so weit mit den grundlagen von javascript zu beschäftigen, dass du die hier gegebenen tipps umsetzen kannst?

          ich hoffe, dass David dir jetzt kein fertiges script hinwerfen wird.

          gruß,
          wahsaga

          --
          Windows Service Pack?
          Ich dachte bisher immer, das wäre eine verächtliche Bezeichnung für MCSE ...
          1. hi,

            Moin moin wahsaga

            ich hoffe, dass David dir jetzt kein fertiges script hinwerfen wird.

            Ups.... leider schon geschehen...

          2. Sorry,

            aber eigentlich habe ich schon Bock, habe mit
            den ersten Antworten auch schon rumprobiert,aber
            es hat irgendwie nicht funktioniert.

            Ich meine, die Funktion wurde ja schon vorher gepostet.
            Soooo viel Arbeit und know-how hat David ja nicht preisgegeben.
            Es war bei mir halt ein Denkfehler.

            Ich bewege mich auch in anderen Foren (meistens das Flashforum)
            und mich nervt es auch immer wieder, wenn User erwarten, dass
            sie komplexe Lösungen einfach als fertiges Script zugeschickt bekommen.

            @wahsaga:
            Falls ich hier gegen irgeneine Etikette verstossen haben
            sollte, bitte ich um Entschuldigung.

            Grüße

            Jogi

    2. hi,

      Wenn Du die Namen der einzelnen Textfelder durchdacht vergibst, ist das ein wahres Kinderspiel ;)

      wenn alle diese inputfelder nacheinander kommen, sehe ich gar keinen grund, sie über ihren namen anzusprechen.
      dann würde ich sie einfach über ihre nummer im formular ansprechen.

      gruß,
      wahsaga

      --
      Windows Service Pack?
      Ich dachte bisher immer, das wäre eine verächtliche Bezeichnung für MCSE ...
      1. hi,

        Das ganze würde auch mit http://de.selfhtml.org/javascript/objekte/elements.htm über eine Schleife funktionieren, aber da bin ich mir mit der richtigen Schreibweise unsicher.

        wenn alle diese inputfelder nacheinander kommen, sehe ich gar keinen grund, sie über ihren namen anzusprechen.
        dann würde ich sie einfach über ihre nummer im formular ansprechen.

        Durch diesen oben zitierten Satz hatte ich gehofft, es würde jemand meine geäußerte Unsicherheit konstruktiv aufgreifen und Jogi auch dazu einen kleinen Ansatz, der über den Verweis hinausgeht, mit auf den Weg geben.

        Schade!

        Gruß aus Berlin!
        eddi

        --
        Manchmal trifft es einen doch ganz unverhofft t86591:
        > '..."Vorläufig abgebrochen" ist ungefähr so sinnvoll formuliert, wie "einstweilig erschossen" oder "temporär verbrannt"...'
        Ich danke Sven für diese Erkenntnis - Gott, was habe ich gelacht ;)