MrMassaker: function, variablenübergabe

Hi!

Also folgendes Problem:

Ich hab den Link:
       <a HREF="javascript:test('text')">linktext</a>

und in der function wird/bzw soll folgendes aufgerufen werden:

function test(variable)
{
this.document.forms[0].variable.value="blabla";
}

tja aber irgendwie schluckt er das nicht so gant wie ich das will:
         --> variable ist null oder kein objekt <--

wenn ich nun var ausgeben lasse, so gibt er aber den ausdruck korrekt aus. Hat irgendjemand vorschläge wie es richtig lauten müsste?

Danke schon mal im Vorraus!

  1. Hallo,

    <a HREF="javascript:test('text')">linktext</a>

    a href="javascript... ist ganz schlechte Syntax, auch wenn das in SelfHTML noch an manchen Stellen so steht.

    function test(variable)
    {
      this.document.forms[0].variable.value="blabla";

    Abgesehen davon, dass variable ein denkbar schlechter Name fuer ein Argument ist, enthaelt variable an dieser Stelle den Text 'text'.
    Folglich muss es in Deiner Form ein <input> Element mit dem Namen 'text' geben, dessen Wert auf 'blabla' gesetzt werden soll.

    --> variable ist null oder kein objekt <--

    Ist das der Fall d.h. trifft o.g. Bedingung zu?

    Dieter

    1. bei mir heissen die variablen eh alle anders...wollts nur verdeutlichen :)

      das mir dem syntax wär mir neu, wie würde man es besser ausdrücken?

      Ist das der Fall d.h. trifft o.g. Bedingung zu?

      jap, genauso hab ich das gemeint also zB:

      <script>
      function test(arsch)
      {
      this.document.forms[0].arsch.value="blabla";
      }
      </script>

      <form>
      <input name="scheisse">
      </form>

      <a HREF="javascript:test('scheisse')">linktext</a>

  2. function test(variable)
    {
    this.document.forms[0].variable.value="blabla";
    }

    Ich vermute mal es gibt kein Feld mit dem Namen variable in deinerm Formular.

    in selfhtml ist beschrieben, wie man Formularelemente anspricht: http://selfhtml.teamone.de/javascript/objekte/forms.htm

    Struppi.

    1. function test(variable)
      {
      this.document.forms[0].variable.value="blabla";
      }

      Ich vermute mal es gibt kein Feld mit dem Namen variable in deinerm Formular.

      gibt es ja auch nicht...mit meinem beispiel soll es ein feld geben mit dem namen 'text'.

      1. Ich vermute mal es gibt kein Feld mit dem Namen variable in deinerm Formular.

        gibt es ja auch nicht...mit meinem beispiel soll es ein feld geben mit dem namen 'text'.

        Und hast du die Seite gelesen dessen Link ich dir noch gegeben habe?

        Struppi.

        1. so gehts:

          <script language="javascript">
          function test(variable)
          {
          //this.document.forms[0].variable.value="blabla";
          document.getElementById(variable).value="isbesserso";
          }
          </script>

          <form>
          <input id="scheisse" name="scheisse">
          </form>

          <a HREF="javascript:test('scheisse')">linktext</a>

          dankeschön für die hilfe!

          1. Hallo mrmassaker

            so gehts:

            <script language="javascript">
            function test(variable)
            {
            //this.document.forms[0].variable.value="blabla";
            document.getElementById(variable).value="isbesserso";

            Nein, den Funktionsaufruf kannst du dir sparen.!

            Dort steht:
            window.document.forms[variable].value="blabla";

            Struppi.

            1. hi,

              Dort steht:
              window.document.forms[variable].value="blabla";

              jetzt sprichst du ein _formular_ an, das den namen hat, der in value steht.
              ausserdem versuchst du auf eine eigenschaft value zuzugreifen, die das forms-objekt aber gar nicht besitzt ...

              document.forms["formularname"].elements[variable].value="blabla";

              gruss,
              wahsaga