Funktionsargument dynmaisch machen?

Subwoover

Erfahrenes Mitglied
Hey wie kann ich folgende Funktion dynamisch gestalten:

Code:
function smilie(thesmilie) {
	document.vbform.message.value += thesmilie+" ";
	document.vbform.message.focus();
}

würde sie gerne um das argument "formname" und "feld" erweitern sodass ich die funktion auf dynamische weise auf verschiedene forms und felder mit versch. namen anwenden kann!

könnte mir da bitte mal wer helfen?
bin total in JS :)
 
Code:
function smilie(a_sForm, a_sFieldname, thesmilie)
{
    window.document.forms[a_sForm].elements[a_sFieldmane] += thesmilie + '" ";
    window.document.forms[a_sForm].elements[a_sFieldname].focus();
}
 
Nur als Zusatz:

Wir wir gesehen haben, kann das Objekt/Formular auch prima als Objektreferenz übergeben werden:
PHP:
function smilie(objElement, thesmilie)
{
    objElement.value += thesmilie + '" ";
    objElement.focus();
}
oder als Name:
PHP:
function smilie(objName, thesmilie)
{
    var objElement=document.getElementById(objName);
    objElement.value += thesmilie + '" ";
    objElement.focus();
}


Gruß
 
Zuletzt bearbeitet:
hm funktioniert alles irgendwie nicht =/

ich rufe die funktion so auf:
Code:
(max. <a href=\"#\" onclick=\"smilie('$items->id','$max_production')\">$max_production</a>)

also in einer while-schleife mit php
die textfelder-namen entsprechen einer ID, aus der DB ausgelesen.
hmm
wenn ich nun klicke komme ich bestenfalls nach oben durch "#" und sonst tut sich nix... :(

aja ich würd gern den wert des feldes ersetzen durch das argument, also nicht + value sondern stattdessen den neuen wert einsetzen hm...
mann wenn ich mich nur genug auskennen würd :)
 
Hi,

Solange die PHP-Syntax stimmt (ist nicht meine Welt, und nachzuschlagen hab ich auch keine Lust im Moment), kannst Du in der Funktion zumindest die Parameter, die ankommen, tracen lassen:
PHP:
function smilie(whatever, thesmilie) 
{ 
    alert(whatever);
    alert(thesmiley);
}
Wie die Funktion arbeitet, hängt natürlich auch davon ab, was Du ihr übergibtst: einen Index, eine String-ID, oder eine Referenz. Bei einer String-ID (danach sieht's in Deinem Code für mich aus) würde ich das Objekt mit "getElementById" ansprechen.

Gruß

P.S. und achte doch bitte etwas mehr auf Groß- und Kleinschreibung, danke!
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück