Heiko Müller: Formularfelder kopieren

Hallo,

ich möchte gerne ein ausgefülltes Formularfeld in ein anderes, leeres, Formularfeld auf der selben Seite kopieren.

Ich habe ein Formular angelegt

<form name"neu_kunde"...

und mehrere Felder dort.

Es ist u.a. eine Kundenanschrift vorhanden und auch ein Rechnungsempfänger.

Um die Eingabe zu vereinfachen will ich einen Button neben den Rechnungsempfänger legen um die Kundendanschrift bei gleicher Adresse zu kopieren.

Schreibe ich in den Button:

<input type="button" name="cp_name" id="cp_name" value="cp_name" onclick= "document.write(document.neu_kunde.ku_re_name.value) = documet.neu_kunde.ku_name.value)">

klappt das kopieren so einigermaßen. Es wird das Feld kopiert aber eine neue, leere Seite geöffnet, die unendlich läd und in der ersten Zeile steht der Inhalt von ku_name - das verstehe ich nicht und auch das 2. Problem was folgt.

Um bei mehrenen Feldern die Sache zu vereinfachen wollte ich dann eine Funktion schreiben, die so aussieht:

  
function cp_form (form,feld1,feld2) {  
  
  
  
 document.form.feld2.value = document.form.feld1.value;  
  
  
 };

Aufgerufen habe ich die Funktion dann so:

<input type="button" name="cp_name" id="cp_name" value="cp_name" onclick= "cp_form ("neu_kunde","ku_name","ku_re_name")">

Dann passiert gar nichts mehr wenn ich auf den Button klicke.

Eingebunden ist der Script im Header der Seite.

Was mache ich falsch ?

Gruß und vielen Dank

Heiko

  1. Hi,

    Schreibe ich in den Button:

    <input type="button" name="cp_name" id="cp_name" value="cp_name" onclick= "document.write(document.neu_kunde.ku_re_name.value) = documet.neu_kunde.ku_name.value)">

    klappt das kopieren so einigermaßen. Es wird das Feld kopiert aber eine neue, leere Seite geöffnet, die unendlich läd und in der ersten Zeile steht der Inhalt von ku_name - das verstehe ich nicht

    Das ist definiertes Verhalten von document.write - es ersetzt das vorhandene Document vollstaendig, mit den neuen Inhalten. Daran gibt es nichts zu verstehen, nur zu wissen und zu akzeptieren :-)

    function cp_form (form,feld1,feld2) {
    document.form.feld2.value = document.form.feld1.value;

    Aufgerufen habe ich die Funktion dann so:

    <input type="button" name="cp_name" id="cp_name" value="cp_name" onclick= "cp_form ("neu_kunde","ku_name","ku_re_name")">

    Dann passiert gar nichts mehr wenn ich auf den Button klicke.

    Natuerlich nicht, weil es einen Fehler gibt, weil keine Formularfelder mit den Namen name="feld1" und name="feld2" existieren - aber auch genau solche , und nichts anderes, versuchst du in deiner Funktion zuzugreifen.

    Wenigstens hier http://de.selfhtml.org/javascript/objekte/elements.htm#allgemeines haettest du doch mal nachlesen koennen, hm? Da findest du im Schema #4, wie's richtig geht, wenn du variable Werte fuer die Feldnamen einsetzen willst.

    MfG ChrisB

    --
    „This is the author's opinion, not necessarily that of Starbucks.“
  2. <input type="button" name="cp_name" id="cp_name" value="cp_name" onclick= "document.write(document.neu_kunde.ku_re_name.value) = documet.neu_kunde.ku_name.value)">

    Warum hast du den Eindruck dass eine schlichte Zuweiseung nicht reicht?

    klappt das kopieren so einigermaßen. Es wird das Feld kopiert aber eine neue, leere Seite geöffnet, die unendlich läd und in der ersten Zeile steht der Inhalt von ku_name - das verstehe ich nicht und auch das 2. Problem was folgt.
    Um bei mehrenen Feldern die Sache zu vereinfachen wollte ich dann eine Funktion schreiben, die so aussieht:

    Aufgerufen habe ich die Funktion dann so:
    <input type="button" name="cp_name" id="cp_name" value="cp_name" onclick= "cp_form ("neu_kunde","ku_name","ku_re_name")">
    Dann passiert gar nichts mehr wenn ich auf den Button klicke.

    "cp_form ("neu_kunde","ku_name","ku_re_name")">
    ^_________^  was ist das ???
    Dein Attributinhalt wird vorzeitig geschlossen.

    mfg Beat

    --
    Woran ich arbeite:
    X-Torah
    ><o(((°>           ><o(((°>
       <°)))o><                     ><o(((°>o
  3. Hat sich erledigt...

    Habe verstanden was ich so alles falsch gemacht habe...omg