martin: Werte per JS in Textfeld schreiben

hallo alle zusammen,

ich möchte per JavaScript Inhalte in ein Formularfeld eintragen.

Dazu habe ich folgenden Code:
document.formname.fieldname.value +='TEST';

Nun möchte ich aber sowohl "formname" als auch "fielname" durch eine Variable einsetzen:

var formname = "testformular";
var fieldname = "testfeld_im_testformular";

document.formname.fieldname.value +='TEST';

Leider klappt das nun gar nicht mehr?!?

sobald ich die werte der variablen aber DIREKT in mein document....+='Test' reinschreibe, klappts wieder?

daraus werd ich nicht so ganz schlau....?

kann mir da mal jemand auf die sprünge helfen?
Vielen Dank für eure Hilfe,
Grüße,
Martin

  1. Das liegt daran, dass der Interpreter von Javascript nicht weiß,
    ob "formname" oder "fieldname" der Name ist oder eine Variabel.
    (Deshalb wird hier immer der Name genommen).

      
      document.formname.fieldname.value +='TEST';  
    
    

    Abhilfe schafft eine andere Syntax:

      
      document.forms['formname'].elements['fieldname'].value +='TEST';  
    
    

    Nachzulesen unter:

    http://de.selfhtml.org/javascript/objekte/elements.htm#allgemeines

    1. Oops, ich habe mich verschrieben (Die Anführungszeichen
      müssen natürlich weg damit "formname" als Variabel erkannt wird:

        
        document.forms[formname].elements[fieldname].value +='TEST';  
      
      

      Auch die Funktion eval() kann helfen:

        
        eval('document.'+formname+'.'+fieldname+'.value +="TEST";');  
      
      
  2. Hallo,

    Hi, das musst Du nicht zwingent tun, wie Du hier sehen kannst. Alle Felder stehen bereits in einem Array und müssen nur durch ihren Index (der eine Variable sein kann) aufgerufen werden.

    Mit freundlichem Gruß
    Micha