benfolds: Form name beim aufruf übergeben

Hallo!

ich habe ein per PHP generiertes Formularwesen und möchte jetzt per JavaScript einen Kalender öffnen, der dann einen ausgewählen Wert an das Formular zurückgibt.

dazu üebrgebe ich per JavaScript den Namen des Formulars und des Feldes an das Fenster. soweit kein problem. nur ändert sich jetzt ständig der name meines Formulars und ich kann das nicht so einfach in den Kalenderlink einfügen. deshalb möchte ich den formularnamen per javascript rausfinden. Am besten natürlich in der aufrufenden Funktion, aber soweit ich gelesen habe geht das nicht. also dann im link:

<a href="javascript: openKalender(this.forms.name, '[name]');">

so hab ichs probiert, geht aber nicht. kann mir da jemand helfen?

Vielen dank schonmal
benfolds

  1. Hi!

    ich habe ein per PHP generiertes Formularwesen und möchte jetzt per JavaScript einen Kalender öffnen, der dann einen ausgewählen Wert an das Formular zurückgibt. dazu üebrgebe ich per JavaScript den Namen des Formulars und des Feldes an das Fenster.

    Um ein bestimmtes Element zu bestimmen eignet sich doch im Allgemeinen hervorragend seine ID. Und der Zugriff mit document.getElementById() ist einfacher kaum zu haben. Was spräche gegen das Verwenden einer ID?

    <a href="javascript: openKalender(this.forms.name, '[name]');">

    Auf das Formular kannst du nur von Formularelementen direkt zugreifen, denn die haben eine Eigenschaft form. Von anderen Elementen muss du dich im DOM nach oben hangeln.

    Lo!

    1. Hi!

      ich habe ein per PHP generiertes Formularwesen und möchte jetzt per JavaScript einen Kalender öffnen, der dann einen ausgewählen Wert an das Formular zurückgibt. dazu üebrgebe ich per JavaScript den Namen des Formulars und des Feldes an das Fenster.

      Um ein bestimmtes Element zu bestimmen eignet sich doch im Allgemeinen hervorragend seine ID. Und der Zugriff mit document.getElementById() ist einfacher kaum zu haben. Was spräche gegen das Verwenden einer ID?

      grundsätzlich ja nix, aber wenn ich die ID nicht hab kann ich die ja auch nicht finden., sprich ich müsste eine feste anlegen und mich dann auf ein formular pro seite beschränken...

      <a href="javascript: openKalender(this.forms.name, '[name]');">

      Auf das Formular kannst du nur von Formularelementen direkt zugreifen, denn die haben eine Eigenschaft form. Von anderen Elementen muss du dich im DOM nach oben hangeln.

      Lo!

      danke schonmal!

      1. Hallo!

        ich habe ein per PHP generiertes Formularwesen

        Sehr nett formuliert;)

        Um ein bestimmtes Element zu bestimmen eignet sich doch im Allgemeinen hervorragend seine ID. Und der Zugriff mit document.getElementById() ist einfacher kaum zu haben. Was spräche gegen das Verwenden einer ID?

        grundsätzlich ja nix, aber wenn ich die ID nicht hab kann ich die ja auch nicht finden., sprich ich müsste eine feste anlegen und mich dann auf ein formular pro seite beschränken...

        Genau: Du kannst eine (viele) id(s) festlegen und das kannst Du auch für n Formulare je Dokument tun - wieso glaubst Du, die Vergabe einer id beschränke Dich auf ein Formular je Dokument?

        Ciao

        GG

        --
        "If I do not seek to understand what is happening here
        - then I've got peanuts in my head!"
        (I. Hosein)
  2. Hi!

    ich habe ein per PHP generiertes Formularwesen und möchte jetzt per JavaScript einen Kalender öffnen, der dann einen ausgewählen Wert an das Formular zurückgibt.

    Lasse also PHP das Problem loesen und generiere den entsprechenden JS-Code.

    --
    "Die Diebesgilde beklagte sich darueber, dass Mumm in aller Oeffentlichkeit behauptet hatte, hinter den meisten Diebstaehlen steckten Diebe."
          - T. Pratchett
  3. Hi,

    <a href="javascript: openKalender(this.forms.name, '[name]');">

    so hab ichs probiert, geht aber nicht. kann mir da jemand helfen?

    Kann so nicht gehen, aus zwei Gründen.

    Erstens, die Eigenschaft von Formularelementen, die auf das Formular, zu welchem sie gehören, verweist, heisst form, und nicht forms.

    Zweitens, ein Link ist kein Formularelement, und hat deshalb auch keine Eigenschaft form.

    Wenn du einen Button zum Aufruf der Funktion nutzen würdest, der sich im jeweiligen Formular befindet - dann ginge das so problemlos. Und dann bräuchtest du auch nicht den Namen des Formulars übergeben, nur um daraus anschliessend wieder die Referenz auf das Formular zu ermitteln, sondern könntest gleich die Referenz auf das Formular übergeben.

    Wenn du aber bei einem Link bleiben willst - dann musst du dir irgendeine Möglichkeit, das Formular über eines seiner Attribute (bspw. id) ansprechbar zu machen, überlegen.

    MfG ChrisB

    --
    “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]