Niklas: document.Formular.Feld

Hallo,

leider konnte ich trotz langem Suchen keine Lösung für mein Problem finden. Ich habe folgende Funktion:

function mehr(id) {
 document.Seiten.credits_id.value = wert++;
}

Leider "versteht" JS nicht, dass das id in der zweiten Zeile eine Variable ist? Wie mach ich das deutlich?

Danke im Voraus!
Niklas

  1. use Mosche;

    function mehr(id) {
    document.Seiten.credits_id.value = wert++;
    }

    Leider "versteht" JS nicht, dass das id in der zweiten Zeile eine Variable ist? Wie mach ich das deutlich?

    Da bekam ich mal folgenden Tip:

    function mehr(id) {
       var e = eval('document.Seiten.credits_' + id);
       e.value = wert++;
    }

    ich hoff, das ist richtig

    use Tschoe qw(Matti);

    1. Da bekam ich mal folgenden Tip:

      function mehr(id) {
         var e = eval('document.Seiten.credits_' + id);
         e.value = wert++;
      }

      ich hoff, das ist richtig

      use Tschoe qw(Matti);

      wenn ich die Funktion nun wie folgt aufrufe

      <form name="Seiten">
      <input type="text" value="0" name="credits_23" style="WIDTH: 50px;HEIGHT: 20px"
      <input type="button" value=" + 1" onClick="weniger(23)">
      </form>

      erhalte ich folgende Fehlermeldung:

      Objekt erwartet, Zeile 3 (e.value = wert++;)

  2. Moin!

    leider konnte ich trotz langem Suchen keine Lösung für mein Problem finden. Ich habe folgende Funktion:

    function mehr(id) {
    document.Seiten.credits_id.value = wert++;
    }

    Leider "versteht" JS nicht, dass das id in der zweiten Zeile eine Variable ist? Wie mach ich das deutlich?

    Du kannst auf Formularfelder auch im Hash- oder Array-Stil zugreifen:

    document.Seiten.elements[Nummer].value -> Nummer ist eine Zahl -> Array-Stil

    document.Seiten.elements['credits_23'].value -> String -> Hash-Stil

    Logischerweise kannst du den String vor der Verwendung "passend" zusammenbasteln:

    zugriff = 'credits_'+id;
    alert (zugriff); //Zum testen
    document.Seiten.elements[zugriff].value ...

    Und weil das auch direkt beim Zugriff geht:

    document.Seiten.elements['credits_'+id].value ...

    - Sven Rautenberg