ich bin zu blöd dazu document.form

dreambaser

Erfahrenes Mitglied
Hallo Leute,

ich weiss für euch ist das mit Sicherheit sehr einfach zu lösen, nur ich komme einfach nicht dahinter wo mein Fehler liegt. Also ich habe folgendes Problem.

Ich will per Link daten in ein Textfeld übergeben, das funktioniert auch soweit ich die festen namen der Textfelder, bzw. Texarea usw. nutze. Nun müsste ich das aber so bauen, das ich das ganze dynamisch gestalten kann, da ich zum einen das problem habe, das ich mehrere Forms habe, die alle unterschiedlich heissen und zum anderen natürlich auch textfelder, die einen anderen namen tragen.


Hier mal meine Funktion, die nicht so hinhaut.

PHP:
function put(form, textfield, value)
{
	
    document.form.textfield.value += value+" ";
    document.form.textfield.focus();

}

so wenn ich nu nen link aufrufe, übergebe ich dem praktisch per JS die Namen, aber die kommen nicht an. Woran liegt das?

Hab ihr ne Idee?

Danke
mfg
Dreambaser
 
Moin Dreambaser,

Code:
document.form.textfield.//usw

so, wie du es notiert hast, erwartet JS dort Objekte....du übergibst aber eine Zeichenkette.

Schreibe es so:
Code:
document.forms[form].elements[textfield].//usw

...und es sollte klappen, weil dort, wo form und textfield jetzt stehen, ein String zulässig ist .
 
Moin ;-)

hmm also ich habe das jetzt mal geändert, allerdings funktioniert das noch nicht. Es bleibt unverändert. Greift man auf Textareas genauso über die elements zu?

mfg
Dreambaser
 
Jo, per elements kann man auf alle Formular-Elemente zugreifen(textareas, inputs, selects,buttons etc.)

Hier mal nen Beispiel, vielleicht hast du ja nur irgendwo nen kleinen Tippfehler:
Code:
<form name="formular">
  <textarea name="textfeld"></textarea><br />
  <input type="button" value="hallo" onclick="put('formular', 'textfeld', 'Moin Moin')">
</form>
<script type="text/javascript">
<!--
function put(form, textfield, value)
{
    document.forms[form].elements[textfield].value += value+" ";
    document.forms[form].elements[textfield].focus();
}  
//-->
</script>
 
Hehe,

ich hab da wohl was übersehen ;-)

Ich danke dir für die Hilfe. Hast mich extrem weiter gebracht

mfg
Dreambaser
 

Neue Beiträge

Zurück